本文是对(46条消息) Redis哨兵集群中哨兵挂了,主从库还能切换吗?_码农架构的博客-CSDN博客_redis 哨兵挂了的二次总结
通信方式
哨兵间通过Redis自带的pub/sub机制进行连接。
首先,主库上有一个名为“sentinel:hello”的频道,哨兵其中发布自己的ip、port信息。
然后其他哨兵互相订阅,得到其他哨兵信息。
最终互相建立连接。
哨兵如何为客户端提供可读的从库
哨兵向主库发送info命令,得到相关信息并进行简单解析,从而发现从库。
哨兵进行主从切换过程
分为两大步
第一步:判定主库是否不可用
一个哨兵发现主库不可用后会把主库标记为 主观下线 ,然后进行投票,如果超过配置文件中指定数量的哨兵认为主库不可用则标记主库为客观下线,不在可用。
第二部:决定主从切换执行者
接着哨兵会选出一个哨兵leader进行主从切换。
一个哨兵要成为leader要同时满足两个条件:
1.超过半数哨兵认可该leader
2.超过超过配置文件中指定数量的哨兵认可该leader