Redis哨兵机制

简介: Redis哨兵机制用于解决主从复制中主节点故障无法自动恢复的问题。通过独立进程监控主节点状态,在主节点宕机时,多个哨兵协作选举新主节点并完成故障转移,实现高可用性。哨兵机制具备监控、故障转移和通知功能,支持自动切换主从关系,但无法提升存储容量和完全避免数据丢失。

二,哨兵(Sentinel)

主从复制最大的问题,还是在主机点上,如果主节点挂了,从节点不会晋升为主节点,需要通过人工干预的方式恢复。


因此Redis哨兵机制,就是为了解决上述问题,自动的对挂了的主节点进行替换,也就是将上述手动的过程改成自动。


哨兵机制是通过启动一个不同的进程来体现的,它和redis-servver服务器进程不是 同一个进程 。


哨兵自动恢复主节点故障

如果一个哨兵节点发现主节点挂了,为了防止预判,还需多个哨兵节点共同认为这件事情。


如果主节点确实挂了,这些哨兵节点会选出一个作为leader,由这个哨兵节点负责从剩下的从节点中选一个出来,作为主节点。选出新的主节点之后,哨兵节点就会控制该节点执行slaveof no one,并且通知其他从节点,修改slaveof到新的主节点之上。哨兵节点会自动通知客户端程序,告知新的主节点是谁,并且此后客户端再进行写操作时,就会访问新的主节点了。


3,哨兵机制的特点

监控:Sentinel节点会定期检查redis数据节点,使用心跳包机制。


故障转移:实现从节点晋升为主节点,并维护好正确的主从关系。


通知:Sentinel会将故障转移的结果通知给应用方。


4,主从切换的具体流程

重点,面试题:


1,主观下线:哨兵节点通过心跳包进制,判读redis主节点服务器是否正常工作,如果没有沙鸥到响应,该哨兵节点就会认为该主节点下线了。


2,客观下线:当多个哨兵节点都认为主节点挂了之后,此时这个主节点就是主观下线了。


3,再从多个哨兵节点中,选举出一个leader节点,由这个leader节点负责从剩下的节点中选出一个作为主节点。


4,leader挑选完毕后,此时需要从剩下的从节点中选一个当作新的主节点。


首先会看这些从节点的优先级,每个 redis数据节点,都会有自己的配置文件,配置文件中就有一个优先级的设置。leader会选择优先级高的作为新的主节点。


如果数据节点的优先级都一样,那么就比较这些数据节点的offset,offset表示从节点与原来主节点进行数据同步的进度,offset越大,说明这个节点与原来主节点的数据相似度最高,此时就会选择这个节点作为新的主节点。


如果前面两个条件都一样,此时其实意味着从这些节点中任选一个都行。那么再看这些节点的runid(一串数字),每个redis数据节点启动时都会生成一个随机的runid,此时比较runid的大小。让runid更小的作为新的主节点。


指定好新的主节点之后,此时leader就会控制这个主节点执行slaveof no one,让这个节点成为主节点(master)。再控制其他从节点,执行slaveof,让这些从节点,以新的mater作为主节点。


5,总结

哨兵节点不能只有一个,因为哨兵节点挂了也会影响 系统的运作。


哨兵节点最好是奇数个,方便选举leader,得票数更容易超过一半。


哨兵+主从复制解决的问题是"提高可用性",极端情况下写操作的数据丢失无法解决。


哨兵+主从复制不能提高数据的存储容量 ,当数据接近或者几乎超过机器的物理内存时,这样的结构就难以胜任了,而接下来的redis集群,就是解决存储容量问题的有效方案。




相关文章
|
7天前
|
人工智能 运维 安全
|
4天前
|
人工智能 异构计算
敬请锁定《C位面对面》,洞察通用计算如何在AI时代持续赋能企业创新,助力业务发展!
敬请锁定《C位面对面》,洞察通用计算如何在AI时代持续赋能企业创新,助力业务发展!
|
6天前
|
机器学习/深度学习 人工智能 自然语言处理
B站开源IndexTTS2,用极致表现力颠覆听觉体验
在语音合成技术不断演进的背景下,早期版本的IndexTTS虽然在多场景应用中展现出良好的表现,但在情感表达的细腻度与时长控制的精准性方面仍存在提升空间。为了解决这些问题,并进一步推动零样本语音合成在实际场景中的落地能力,B站语音团队对模型架构与训练策略进行了深度优化,推出了全新一代语音合成模型——IndexTTS2 。
569 20
|
12天前
|
人工智能 JavaScript 测试技术
Qwen3-Coder入门教程|10分钟搞定安装配置
Qwen3-Coder 挑战赛简介:无论你是编程小白还是办公达人,都能通过本教程快速上手 Qwen-Code CLI,利用 AI 轻松实现代码编写、文档处理等任务。内容涵盖 API 配置、CLI 安装及多种实用案例,助你提升效率,体验智能编码的乐趣。
927 109
|
5天前
|
人工智能 测试技术 API
智能体(AI Agent)搭建全攻略:从概念到实践的终极指南
在人工智能浪潮中,智能体(AI Agent)正成为变革性技术。它们具备自主决策、环境感知、任务执行等能力,广泛应用于日常任务与商业流程。本文详解智能体概念、架构及七步搭建指南,助你打造专属智能体,迎接智能自动化新时代。