当前位置:   article > 正文

深入理解Redis原理:哨兵模式_redis哨兵模式原理

redis哨兵模式原理

目录

1、什么是哨兵模式

2、哨兵模式工作原理

2.1、心跳机制

2.2、Redis哨兵心跳机制和Redis集群内部心跳机制区别

2.3、哨兵判断master节点是否下线

2.4、基于Raft算法选举领头哨兵

2.5、故障转移


下一篇:redis 集群模式

1、什么是哨兵模式

哨兵是一个独立的进程。通过心跳机制监控和管理主从复制架构中的节点。哨兵会定期检测节点的健康状态,当主节点故障时,会自动进行故障转移,将一个从节点选举升级为新的主节点。

三点作用:

(1)监控:不断地检查Master和Slave是否运作正常;

(2)告警:当被监控的某个Redis节点出现问题时,哨兵可以通过 API 向管理员或者其他应用程序发送通知;(修改哨兵配置文件sentinel.conf的notify_script.sh,配置邮件或者短信告警)

(3自动故障迁移:Master不能正常工作时,哨兵会进行自动故障迁移操作

多少个sentinel (哨兵)认为 master 失效才判定为客观下线?----半数哨兵以上

2、哨兵模式工作原理

2.1、心跳机制

 - 哨兵进程会周期性地向被监控的Redis节点发送PING命令,以检测节点的健康状态。
 - Redis节点在收到PING命令后会回复一个PONG响应,表示节点正常运行。
 - 如果哨兵进程在一定时间内没有收到PONG响应,就会将该节点标记为不可用,并触发相应的故障转移操作。

2.2、Redis哨兵心跳机制和Redis集群内部心跳机制区别

(1)作用范围:单个Redis节点或Redis主从复制架构用哨兵心跳、Redis集群用Gossip协议内部心跳。

真实企业:Redis集群模式下哨兵和Gossip协议心跳一般同时使用,使用哨兵来监控和管理Redis节点的健康状态,并使用Redis集群内部的心跳机制来实现节点间的通信和状态同步。

(2)监测对象:哨兵心跳用于监测和管理Redis节点、Redis集群内部心跳用于Redis集群中各个节点之间的通信和状态同步

(3)实现方式:哨兵心跳由哨兵进程周期性地向被监控的Redis节点发送PING命令,并等待节点返回PONG响应; Redis集群内部心跳机制通过Gossip协议,各个节点会周期性地向其他节点发送PING消息,并等待其他节点的响应。

2.3、哨兵判断master节点是否下线

(1)每个 sentinel 哨兵节点每隔1s 向所有的master、slave以及其他 sentinel 节点发送一个PING命令;

(2)master 节点回复 PING 命令的时间超过阈值(默认30s),则这个 master 会被 sentinel 标记为主观下线

(3)当sentinel 哨兵节点将 master 标记为主观下线后,会向其余所有的 sentinel 发送消息询问其他sentinel是否同意该master下线;

(4)每个sentinel收到命令之后,会根据发送过来的 ip和port 检查自己判断的结果,回复自己是否认为该master节点已经下线了;

(5)sentinel收到回复的个数大于设定值,则master就被标记为客观下线

2.4、基于Raft算法选举领头哨兵

master客观下线,那就需要一个sentinel来负责故障转移

(1)判断客观下线的sentinel节点向其他 sentinel 节点发送自己的runid;

(2)目标sentinel回复是否同意master下线并选举领头sentinel,选择领头sentinel的过程符合先到先得的原则;

(3)当sentinel发现选自己的节点个数超过 一半以上自己就是领头节点;

(4)如果没有一个哨兵达到一半数量等一段时间重新选举。

2.5、故障转移

有了领头sentinel之后,下面就是要做故障转移了。故障转移选择领头sentinel问题差不多,判断是要选哪个slaver节点来作为master。

(1)剔除掉一些不满足条件的slaver,这些slaver不会作为变成master的备选

  • 剔除列表中已经下线的从服务
  • 剔除有5s没有回复sentinel的info命令的slave

(2)选主过程

  • 选择优先级最高的节点
  • 优先级相同,选择offset最大的,offset表示主节点向从节点同步数据的偏移量,越大表示同步的数据越多
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/运维做开发/article/detail/776141
推荐阅读
相关标签
  

闽ICP备14008679号