Redis | 第12章 Sentinel 哨兵模式《Redis设计与实现》

目录


前言

参考资料:《Redis设计与实现 第二版》;

第四部分为多机数据库的实现,主要由以下模块组成:复制、Sentinel、集群;

本篇将介绍 Redis 的Sentinel功能。Sentinel(哨兵)是 Redis 的高可用解决方案:由一个或多个 Sentinel 实例(instance)组成的 Sentinel 系统可以监视任意多个主服务器,以及这些主服务器属下的所有从服务器。在被监控的主服务器下线时,自动将下属的某个从服务器升级为主服务器,替代旧主服务器继续处理命令请求;

与本章相关的 Redis 命令总结在下篇文章,欢迎点击收藏,本篇将不再重复:

《Redis常用命令及示例总结(API)》:https://www.cnblogs.com/dlhjw/p/15639773.html


1. 启动并初始化 Sentinel




2. Sentinel 与服务器间的默认通信

2.1 获取主服务器信息

2.2 获取从服务器信息

2.3 向主服务器和从服务器发送信息


3. 接受来自主服务器和从服务器的频道信息

3.1 更新 Sentinel 字典

3.2 创建连向其他 Sentinel 的命令连接


4. 检测主观下线状态


5. 检查客观下线状态

5.1 发送 SENTINEL is-master-down-by-addr 命令

5.2 接受 SENTINEL is-master-down-by-addr 命令

5.3 接受 SENTINEL is-master-down-by-addr 命令的回复


6. 选举领头 Sentinel


7. 故障转移

7.1 选出新的主服务器

7.2 修改从服务器的复制目标

7.3 将旧的主服务器变成从服务器



最后

新人制作,如有错误,欢迎指出,感激不尽!
欢迎关注公众号,会分享一些更日常的东西!
如需转载,请标注出处!
另外,下边有个程序员学习求职分享交流群
是我跟科锐国际的 HR 合作的
里面会分享发布一些求职就业相关的东西
也可以来交流学习技术,欢迎来玩!
扫码添加 HR 小姐姐为好友,备注【加群】