哨兵机制学习笔记

本文摘抄自这里

哨兵机制

核心功能是主节点的自动故障转移
实现了下列功能:

  • 监控:哨兵会不断的检查从节点和从节点是否运行正常
  • 自动故障转移:当主节点不能正常工作,哨兵会开始自动故障转移操作,它会将失效主节点的其中一个从节点升级为新的主节点,并让其他从节点改为复制新的主节点
  • 配置提供者:当客户端在初始化时,通过连接哨兵来获得当前Redis服务的主节点地址
  • 通知:哨兵可以将故障转移的结果发送给客户端
哨兵集群的组建

要归功于Redis提供的订阅/发布机制。在主从集群中,主库上有一个名为__sentinel__:hello的频道,不同哨兵就是通过它来互相发现。

主库下线的判断

  • 主观下线:任何一个哨兵都可以监控探测,并作出Redis节点下线的判断
  • 客观下线:由哨兵集群共同决定Redis节点是否下线
    当某个哨兵判断主库下线后,会给其他的哨兵发送is-master-down-by-addr命令。接着其他哨兵会根据自己和主库的连接情况,做出Y或者N的响应。如果赞成票数大于等于哨兵配置文件中的quorum配置项,则可以判断主库客观下线了

哨兵集群的选举

主要是用于判断完主库下线后,由哪个哨兵节点来执行主从切换。

新主库的选出

  • 过滤掉下线后者短线的从节点
  • 选择配置文件中 salve-priority 从节点优先级最高的
  • 选择复制偏移量最大,只复制最完整的从节点

故障转移

posted on 2022-11-29 17:11  每日问答  阅读(54)  评论(0)    收藏  举报

导航