redis哨兵 ~ langhai

林书豪
2023-01-11 23:17:36
redis哨兵 浪海值:1356度
文章标签:redis
文章摘要:待更新
使用新的显示器:新的显示器 如果遇到图片单击即可放大/缩小。

redis哨兵

redis哨兵的作用:Sentinel机制来实现主从集群的自动故障恢复。

监控:Sentinel会不断检查master和slave是否按预期工作。

自动故障恢复:如果master故障,Sentinel会将一个slave提升为master。当故障实例恢复后将成为slave节点。

通知:Sentinel充当redis客户端的服务发现来源,当集群发送故障转移时,会将最新信息推送给redis客户端。


服务状态监控:

Sentinel基于心跳机制来监测服务状态,每隔1秒向集群的每隔实例发送ping命令。

主观下线:

   如果某一个sentinel节点发现某个实例未在规定的时间响应,则认为这个实例 主观下线。

客观下线:

   若超过指定数量(quorum)的sentinel都认为该实例主观下线,则这个实例 客观下线。quorum配置最好是超过sentinel实例数量的一半。


选举新的master

首先会判断 slave节点 与 master节点断开时间长短,如果超过指定值会直接排除(down-after-milliseconds * 10)。

然后会判断 slave节点 slave-priority值 值越小优先级越高。如果为0则不会参与选举。

然后会判断 slave节点 offset值 值越大说明数据越新,优先级越高。

最后会判断 slave节点 的运行id大小,越小优先级越高。


故障转移的步骤:

首先选举出一个slave节点 ====>>>> 新的master节点,执行 slaveof no one的命令。

让所有的 slave节点 =====>> 执行 slaveof 到新的master节点。

修改故障节点的配置 ======>> 修改配置让它成为一个slave节点。



有任何问题联系 QQ 676558206 email [email protected] [email protected]


提交评论