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]
非特殊说明,本文版权归 langhai 所有,转载请注明出处。
本文标题: redis哨兵
延伸阅读
- 浪海博客系统友情链接说明
- 浪海同志的一生
- 浪海皇室 QQ飞车手游
- 浪海博客系统部署说明
- minio 相关说明
- rabbitMQ 相关说明
- mysql相关说明
- java基础面试题002
- gateway服务网关基本使用
- ribbon负载均衡