redis-sentinel的三大工作任务和互联网冷备热备的讲解

  • Sentinel三大工作任务

    • 监控(Monitoring): Sentinel 会不断地检查你的主服务器和从服务器是否运作正常。

    • 提醒(Notification): 当被监控的某个 Redis 服务器出现问题时, Sentinel 可以通过 API 向管理员或者其他应用程序发送通知。

    • 自动故障迁移(Automatic failover): 当一个主服务器不能正常工作时, Sentinel 会开始一次自动故障迁移操作, 它会将失效主服务器的其中一个从服务器升级为新的主服务器, 并让失效主服务器的其他从服务器改为复制新的主服务器; 当客户端试图连接失效的主服务器时, 集群也会向客户端返回新主服务器的地址, 使得集群可以使用新主服务器代替失效服务器。

    • redis-sentinel的三大工作任务和互联网冷备热备的讲解_第1张图片

  • 互联网冷备和热备讲解,冷备和热备的特点分析

    • 冷备

      • 概念:冷备份发生在数据库已经正常关闭的情况下,当正常关闭时会提供给我们一个完整的数据库

      • 优点:

        • 是非常快速的备份方法(只需拷文件)

        • 低度维护,高度安全

      • 缺点:

        • 单独使用时,只能提供到“某一时间点上”的恢复

        • 再实施备份的全过程中,数据库必须要作备份而不能作其他工作。也就是说,在冷备份过程中,数据库必须是关闭状态

    • 热备

      • 概念:热备份是在数据库运行的情况下,采用archivelog mode方式备份数据库的方法

      • 优点:

        • 备份的时间短

        • 备份时数据库仍可使用

        • 可达到秒级恢复

      • 缺点

        • 若热备份不成功,所得结果不可用于时间点的恢复

        • 因难于维护,所以要非凡仔细小心

Redis高可用Sentinel故障转移原理

  • 主观下线:

    • 概念主观下线(Subjectively Down, 简称 SDOWN)指的是单个 Sentinel 实例对服务器做出的下线判断

    • 主管下线特点:

      • 如果一个服务器没有在 master-down-after-milliseconds 选项所指定的时间内, 对向它发送 PING 命令的 Sentinel 返回一个有效回复(valid reply), 那么 Sentinel 就会将这个服务器标记为主观下线

      • 服务器对 PING 命令的有效回复可以是以下三种回复的其中一种:

        返回 +PONG 。
        返回 -LOADING 错误。
        返回 -MASTERDOWN 错误。
  • 客观下线

    • 客观下线概念:

      • 指的是多个 Sentinel 实例在对同一个服务器做出 SDOWN 判断, 并且通过 SENTINEL is-master-down-by-addr 命令互相交流之后, 得出的服务器下线判断。 (一个 Sentinel 可以通过向另一个 Sentinel 发送 SENTINEL is-master-down-by-addr 命令来询问对方是否认为给定的服务器已下线。)

    • 客观下线特点:

      • 从主观下线状态切换到客观下线状态并没有使用严格的法定人数算法(strong quorum algorithm), 而是使用了流言协议: 如果 Sentinel 在给定的时间范围内, 从其他 Sentinel 那里接收到了足够数量的主服务器下线报告, 那么 Sentinel 就会将主服务器的状态从主观下线改变为客观下线。 如果之后其他 Sentinel 不再报告主服务器已下线, 那么客观下线状态就会被移除。

    • 客观下线注意点:

      • 客观下线条件只适用于主服务器: 对于任何其他类型的 Redis 实例, Sentinel 在将它们判断为下线前不需要进行协商, 所以从服务器或者其他 Sentinel 永远不会达到客观下线条件。 只要一个 Sentinel 发现某个主服务器进入了客观下线状态, 这个 Sentinel 就可能会被其他 Sentinel 推选出, 并对失效的主服务器执行自动故障迁移操作。

你可能感兴趣的:(Redis)