redis- 10 哨兵

1. 哨兵简介

1. 用来不断地检查master和slave是否运行正常
2. 当被监控的服务器出现问题时,向其他(哨兵间,客户端)发送通知
3. 断开master与slave之间的连接,选一个slave作为新的master,将其他slave连接到该master,并告知服务端新的服务器的地址
注意: 哨兵也是一台redis,只是不提供数据服务,哨兵数量通常配置为单数

2. 监控阶段

1. 图示

 

 

3. 通知阶段

1. 图示

 

 

4. 故障转移阶段

1. 哨兵之间有一个互相的通信,如果其中一个获取到了master的信息,就会发送给其他哨兵。当一个哨兵发现连不上master时,其他哨兵就会去自行尝试,如果超过半数的哨兵都连不上,则认为master掉线,推出一个新的master出来
2. 在确认master掉线之前,哨兵之间也会推举出一个哨兵来决定选择哪一个slave作为master
3. 哨兵在选择新的master时,遵循以下原则
  a. 在线的slave
  b. 响应快的
  c. 与master断开时间短的
  d. 优先原则
    1. 优先级
    2. offset
    3. runid


 

posted @ 2021-11-27 10:11  10132714  阅读(22)  评论(0编辑  收藏  举报