数据库
首页 > 数据库> > Redis | 第12章 Sentinel 哨兵模式《Redis设计与实现》

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

sentinelRedisInstance 结构示例
masters 字典
sentinel 与主服务器的网络连接


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

2.1 获取主服务器信息

Sentinel 分析主从服务器结构

2.2 获取从服务器信息

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


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

3.1 更新 Sentinel 字典

Sentinels 字典里的 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

领头 Sentinel 的选举规则与方法


7. 故障转移

7.1 选出新的主服务器

主服务器的选举规则

设置主服务器

主服务器升级成功

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

修改从服务器的复制目标

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

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



最后

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

标签:__,12,Redis,命令,Sentinel,服务器,下线,sentinel
来源: https://www.cnblogs.com/dlhjw/p/15679094.html