Redis的高可用之哨兵模式

Redis哨兵主要是解决Redis主从同步时主数据库宕机问题,使其能够自动进行故障恢复,提高Redis系统的高可用性。

1. 哨兵的作用:

监控 :哨兵通过心跳机制监控主库和从库的存活性。
选主 :当主库宕机时,哨兵会选举出一个领导者哨兵来完成主从切换。
通知:哨兵将新主库的地址通知给所有从库和客户端。

2. 监控机制:

a. 哨兵通过配置文件获取主库地址,并定期发送INFO replication命令来获取主从拓扑关系。

b. 哨兵使用pub/sub机制在sentinel:hello频道上发布和订阅消息,以感知其他哨兵的存在。

c. 哨兵每隔1秒向主库、从库和其他哨兵发送PING命令进行探活。
主观下线 :单个哨兵在一定时间内没有收到主库响应时,认为主库主观下线。
客观下线:当半数以上哨兵同意主库主观下线时,认为主库客观下线。

3. 选主过程:

a. 一旦主库被认定为客观下线,哨兵之间会进行选举,选出一个领导者哨兵。

b. 选举过程采用过半投票机制,是基于哨兵之间的通信和共识算法。

4. 故障恢复:

领导者哨兵负责故障恢复,包括选出一个健康的从库提升为新主库,并将其他从库配置为新主库的从库。

5. 从库选择:

选择从库时会过滤掉不健康的节点,然后根据优先级、复制偏移量和runid进行排序,选择最优的从库作为新主库。

相关推荐
团象科技10 分钟前
从一线实操案例拆解不同出海团队落地海外VPS运维独立站的路径细节
大数据·数据库·人工智能
小马爱打代码24 分钟前
框架 - 组件 - 中间件:生产级参数配置指引
数据库·中间件
asdfg125896341 分钟前
一文通俗理解JDBC中的核心概念+案例
java·数据库·oracle·jdbc
点灯小铭1 小时前
基于单片机与DAC0832的双路波形信号发生系统设计
数据库·单片机·mongodb·毕业设计·课程设计·期末大作业
小陈phd1 小时前
Text2SQL智能体学习笔记(二)——NL2SQL落地的隐形基石:元数据库
数据库·笔记·学习
霸道流氓气质1 小时前
阿里云 OSS 从零到实战:概念、配置与 Spring Boot 集成指南
数据库·spring boot·阿里云
茉莉玫瑰花茶1 小时前
综合案例 - AI 智能租房助手 [ 4 ]
数据库·python·ai·langgraph
ULIi096kr1 小时前
MySQL查看表创建时间、修改时间、最后更新时间(精准排查僵尸表)
数据库·mysql
折哥的程序人生 · 物流技术专研1 小时前
Tomcat 严重警告:JDBC 驱动未注销 + 工作线程泄漏 —— 原因、影响与彻底修复(生产级终极指南)
java·运维·数据库·mysql·oracle·tomcat
初圣魔门首席弟子1 小时前
Qt C++ 项目实战:修改共享头文件后的高效增量编译与快速发布流程
数据库