
每个sentinel都会监控着master、slave,并要各种信息
所有sentinel组成一个集群,进行信息发布、订阅、同步......
如下图,端口26379的sentinel联系上了另外两台sentinel

主观下线和客观下线
1. 主观下线:一个哨兵节点判定master节点down掉是主观下线,SRI_S_DOWN。
2.客观下线:半数哨兵节点都判定master节点down掉,此时多个哨兵节点交换主观判定结果,才会判定master节点客观下线,SRI_O_DOWN。
此时需要进行故障转移,至于哪台sentinel负责处理这个事情,需要投票选出一个话事人,由他来处理。
下图为sentinel的日志,注意看 sdown和odown。

故障转移
话事人依据什么,从众多slave中选出leader呢?
- 不在线的不要
- 响应慢的不要
- 与原master断开时间久的不要
经过这3个条件过滤后的再次筛选
- 先看 优先级(权重)
<

Redis哨兵系统监控master和slave,当多数哨兵认为master主观下线并客观下线后,进行故障转移。通过优先级、offset和runid选择新master,完成转移后通知客户端更换主节点。
最低0.47元/天 解锁文章
1074

被折叠的 条评论
为什么被折叠?



