Redis学习笔记(十六) Sentinel(哨兵)(下)
消失了一段时间,我又回来啦。不多说,继续把哨兵看完。 检测主观下线状态 默认情况下,Sentinel会以每秒一次的频率向所有与他创建了命令连接的实例(主从服务器以及其他Sentinel)发送PING命令,并通过实例返回的PING命令回复来判断实例是否在线。 实例对PING命令的回复可以分为两种情况: 有效回复:实例返回+PONG、-LOADING、-MASTERDOWN三种回复的其中一种。 无效回复:实例返回除+PONG、-LOADING、-MASTERDOWN三种回复之外的回复或者规定时间内没有收到任何回复。 指定Sentinel判断实例进入主观回复的时间长度是由Sentinel配置文件中的down-after-milliseconds选项指定的。 如果没有收到master服务器的回复,Sentinel就会将master标记为主观下线,并在master所对应的实例结构的flags属性中打开SRI_S_DOWN标识。 检查客观下线状态 当Sentinel将一个主服务器判断为主观下线之后,为了确认这个主服务器是否真的已经下线,它会向同样监视这一主服务器的其他Sentinel进行询问,看他们是否也认为主服务器已经进入下线状态,当Sentinel从其他Sentinel那里接收到足够数量的已下线判断后,Sentinel就会将主服务器判定为科幻下线,并对主服务器执行故障转移操作。 使用