- 主节点下线事件:如节点主观下线(+sdown)、客观下线(+odown)等;
- 从库更新配置事件:如重新同步(+slave-reconf-sent)、主从同步完成(+slave-reconf-done)等;
- 主节点更换:主库地址发生变化(+switch-master) 。
3.4 节点恢复:老掌门出关,担任副掌门所谓一山不容二虎,哨兵部门在更换掌门后要做的职责是 , 继续监控老掌门的体征信息 。

文章插图
图片
一当老掌门有消息回复时,哨兵部门就会告诉它 , 现在已经有新掌门人了,老掌门失联这么久,对门派事务的了解难免落后,所以会让它先担任副掌门 。
Redis 中,哨兵集群会向重新上线的旧主节点发送 SLAVEOF 命令,让它成为新主节点的从节点 。
当哨兵集群同步这个事件以后,会接着发布从库更新配置事件的订阅消息,让客户端也知晓 。
4. 小结在大型的互联网应用上,Redis 为了保证高可用,会在主从复制的部署架构上进一步引入哨兵机制 。
如果说主从同步是 Redis 高可用的数据保障基础,那哨兵机制就是 Redis 高可用的进阶支撑,有了它,就不用担心 Redis 挂了后得人工升级 , 并且还非常低效的问题了 。
毕竟,乱世江湖 , 门派中一旦群龙无首,就很容易陷入危机 , 导致四分五裂!
接下来我们总结一下,哨兵机制的工作流程:
- 监控各节点状态,判断是否下线(千里传音,了解各掌门状态);
- 当主节点主观下线以后,选出一个领头哨兵做故障转移(掌门人挂了 , 选一个leader主持掌门更换仪式);
- 选出一个从节点,晋升为从节点 , 并发布通知(选出新掌门,向武林同道发布这个消息);
- 继续监控 , 如果老节点恢复,就让它作为新主节点的备份从节点(老掌门出关,先给个副掌门当当) 。
在派系林立的江湖也这样 , 哨兵部门如果能很好地处理掌门人之间的权力和事务关系,门派发展扩大亦是指日可待!
推荐阅读
- 浅析Redis数据结构
- Redis数据类型与应用场景
- 使用Docker Compose搭建高可用Redis集群
- 如何进行Redis性能优化?这一篇就够了
- Python之Redis操作
- Redis管道技术瞬间提升系统性能,速度翻倍!
- Redis 的主库挂了,如何不间断服务?
- Redis中万金油的String,为什么不好用了?
- 无敌到寂寞!Redis进军磁盘存储!
- 直接上最优解:如何保障MySQL和Redis的数据一致性?
