复述中哨兵模式的示例分析

  

小编给大家分享一下Redis中哨兵模式的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

主从切换技术的方法是:

  • 当主服务器宕机时,需要将从服务器手动切换(slaveof no>Redis Sentinel的基本概念

    主从复制和Sentinel高可用性架构的示意图

    Redis中哨兵模式的示例分析

    Redis Sentinel架构

    Redis中哨兵模式的示例分析

    Redis Sentinel的主要功能Sentinel的主要功能包括:

    主节点生存检测,主从操作检测,自动故障转移以及主从切换。

    • Redis的最小标记配置是一台主机和一台从机;

    • Redis的Sentinel系统可用于管理多个Redis服务器。

    • 系统可以执行以下四个任务

    1、监视:Sentinel会不断检查主服务器和从属服务器是否正常运行;
    2、通知:当受监控的Redis服务器出现问题时,Sentinel会通过API脚本向管理员或其他应用程序发送通知;
    3、自动故障转移:当主节点无法正常工作时,Sentinel将启动自动故障转移操作。它将与发生故障的主节点处于主从关系的从节点之一升级到新的主节点,并将其他从节点指向新的主节点;
    4、 配置提供程序:在Redis Sentinel模式下,初始化客户端应用程序时,它将连接Sentinel节点集合以获取主节点的信息;

    Redis Sentinel如何工作

    • 当哨兵节点连接到Redis实例时,它将创建两个连接:cmd和pub/sub。 Sentinel通过cmd连接将命令发送到Redis,并通过pub/sub连接到Redis实例上的其他哨兵实例。

    • Sentinel与Redis主节点和从节点进行交互的命令

    • 每个Sentinel每秒向其已知的主实例,从属实例和其他Sentinel实例发送一个PING命令。

    Redis中哨兵模式的示例分析

    • 如果一个实例花费的时间比上次对PING命令的有效回复(毫秒)后down所指定的时间更长,那么Sentinel会将该实例标记为主观离线

    Redis中哨兵模式的示例分析

    • 如果将主服务器标记为主观注销,则将监视主服务器的所有Sentinel节点以确认主服务器确实已经每秒进入一次主观注销状态。

    Redis中哨兵模式的示例分析

    • 如果将主服务器标记为主观注销,并且在指定的时间范围内有足够的哨兵(至少配置文件中指定的数量)与该判断相符,则将主服务器标记为客观下线。

    Redis中哨兵模式的示例分析

    • 通常,每个Sentinel每10秒向其所有已知的主服务器和从服务器发送INFO命令。 当Sentinel将主服务器标记为脱机时,Sentinel发送INFO命令给脱机主服务器的所有从属服务器的频率将从每10秒一次更改为每秒一次。

    Redis中哨兵模式的示例分析

    • Sentinel和其他哨兵协商主节点的状态。如果主节点处于SDOWN状态,投票将自动选择新的主节点。将其余的从节点指向新的主节点以进行数据复制

    Redis中哨兵模式的示例分析

    • 如果没有足够的哨兵以允许主服务器注销,则将删除主服务器的客观注销状态。 当主服务器对Sentinel的PING命令返回有效答复时,主服务器的主观脱机状态将被删除。

      复述中哨兵模式的示例分析