11 01 2023

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]


延伸阅读
  1. 浪海博客系统友情链接说明
  2. 浪海同志的一生
  3. 浪海皇室 QQ飞车手游
  4. 浪海博客系统部署说明
  5. minio 相关说明
  6. rabbitMQ 相关说明
  7. mysql相关说明
  8. java基础面试题002
  9. gateway服务网关基本使用
  10. ribbon负载均衡
如果出现代码等内容显示不正常,使用以前的显示器:以前的显示器
发表评论