美文共赏

Redis | 第12章 Sentinel 哨兵模式《Redis

2021-12-12  本文已影响0人  多氯环己烷

前言

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

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

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

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

《Redis常用命令及示例总结(API)》https://www.jianshu.com/p/f8eb9afaa908


1. 启动并初始化 Sentinel

sentinelRedisInstance 结构示例.png masters 字典.png sentinel 与从服务器的连接.png

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

2.1 获取主服务器信息

Sentinel 分析主从服务器结构.png

2.2 获取从服务器信息

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

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

3.1 更新 Sentinel 字典

Sentinels 字典里的 Sentinels.png

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 命令的回复

客观下线后的主服务器实例.png

6. 选举领头 Sentinel

领头 Sentinel 的选举规则与方法.png

7. 故障转移

7.1 选出新的主服务器

主服务器的选举规则.png 设置主服务器.png 主服务器升级成功.png

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

修改从服务器的复制目标.png

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

将旧的主服务器变成从服务器.png

最后

\color{blue}{\rm\small{新人制作,如有错误,欢迎指出,感激不尽!}}

\color{blue}{\rm\small{欢迎关注我,并与我交流!}}

\color{blue}{\rm\small{如需转载,请标注出处!}}

上一篇 下一篇

猜你喜欢

热点阅读