news 2026/4/12 3:24:06

详解redis(3):哨兵

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
详解redis(3):哨兵

一、为什么需要 Redis Sentinel?

主从复制架构下,Redis 仍然存在一个问题:

主节点宕机后,没有自动切换能力

Redis Sentinel 的目标是:

在不引入复杂分片的前提下,为 Redis 提供“自动故障检测 + 自动主从切换 + 服务发现”能力

换句话说:

Sentinel =高可用控制平面
Redis 主从 =数据平面

二、Sentinel 是一个“分布式系统”

为什么 Sentinel 必须是分布式的

如果只有一个 Sentinel:

  • Sentinel 自己宕机 → 无法监控

  • Sentinel 网络异常 → 误判主节点

所以 Redis 设计为:

多个 Sentinel 进程协同工作

Sentinel本身不能有单点故障

三、Sentinel 的核心职责

监控(Monitoring)

Sentinel 定期向:

主节点

从节点

发送PING

判断:

是否存活

是否可达

是否响应正常

通知(Notification)

当 Sentinel 发现异常时,可以:

记录日志

发送告警(邮件 / webhook / 脚本)

通知运维系统

Sentinel不仅是自动系统,也是监控系统

故障转移管理(Failover)

这是 Sentinel最核心的能力

当:

主节点不可达

且达到法定数量(Quorum)

Sentinel 会:

确认主节点客观下线

选举一个 Sentinel 作为领导者

从副本中选一个新的主节点

重新配置其他副本

通知客户端新主节点地址

配置管理 / 服务发现

Sentinel 类似于:

Zookeeper

Consul

客户端:

不直接写死 Redis 主节点

启动时向 Sentinel 查询:

“当前主节点是谁?”

当主节点变化:

Sentinel 会告知客户端

客户端重新连接新主

四、故障判定:主观下线 vs 客观下线

主观下线(SDOWN)

单个 Sentinel 判断:

“我联系不上主节点”

可能原因:

网络抖动

Sentinel 自己异常

不立即触发故障转移

客观下线(ODOWN)

多个 Sentinel 达成一致

达到配置的Quorum

例如:

3 个 Sentinel

Quorum = 2

至少 2 个 Sentinel 认为主节点不可用

才会触发故障转移

五、Quorum(法定人数)到底是什么意思

Quorum 的作用是:

防止“误判”和“单点异常”

表格含义解释

Sentinel 数量Quorum可容忍失败数
321
532
743

含义:

只有多数 Sentinel 同意

才能判定主节点失效

少数派不能发起切换

六、一次完整的 Sentinel 故障转移流程

主节点不可达

多个 SentinelPING失败

达成 Quorum

主节点被标记为ODOWN

Sentinel 领导者选举

Sentinel 之间投票

选出一个Leader Sentinel

选择新的主节点

根据优先级:

在线的副本

复制偏移量最大(数据最新)

延迟低、配置优先级高

提升副本为主

向该副本发送:

SLAVEOF NO ONE

重配置其他副本

让其复制新主节点

通知客户端

Sentinel 更新主节点信息

客户端重新查询并连接新主

七、Sentinel 的局限性和真实风险

网络分区

最危险的问题

场景:

原主节点被网络隔离

Sentinel 多数派在另一侧

选出新主

旧主:

仍然接受写入

结果:

旧主上的写入最终会丢失

Redis 的态度是:

一致性让位于可用性(AP)

写丢失问题(不可避免)

原因:

Redis 复制是异步的

客户端可能仍在向“旧主”写

当客户端发现新主:

旧主写入的这段数据:

无法合并

直接丢弃

Sentinel 与客户端拓扑错位

如果:

Sentinel 认为主节点可达

客户端却连不上

产生“我认为你活着,但你用不了”的问题

八、如何减少数据丢失

强制写入至少一个副本

Redis 提供配置:

min-replicas-to-write 1 min-replicas-max-lag 10

含义:

至少有 1 个副本

延迟不超过 10 秒

否则主节点拒绝写入

可用性换一致性

启用持久化(RDB + AOF)

防止 Redis 进程级崩溃导致全丢

但:

不能解决脑裂写丢失

客户端正确使用 Sentinel

新连接前:

查询 Sentinel

写失败后:

重新发现主节点

不要缓存主节点地址过久

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/10 14:03:51

小程序计算机毕设之基于springboot的保护濒危动物知识科普、活动发布、在线捐赠公益网站系统(完整前后端代码+说明文档+LW,调试定制等)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华
网站建设 2026/4/11 2:07:08

亲测好用2026研究生AI论文网站TOP10:开题文献综述全攻略

亲测好用2026研究生AI论文网站TOP10:开题文献综述全攻略 2026年研究生AI论文写作工具测评:选对工具,事半功倍 在学术研究日益数字化的今天,AI论文写作工具已成为研究生们不可或缺的得力助手。然而,面对市场上琳琅满目的…

作者头像 李华
网站建设 2026/4/8 22:59:47

职场晋升需要 AI 证书,选偏理论还是偏实操的更有用?

在职场晋升场景中,AI证书的价值需结合实用性判断。多数情况下,偏实操属性的证书更能适配企业“以结果为导向”的评估逻辑,其承载的技能可直接转化为工作效率与业务成果;理论类证书仅适合特定场景作为补充,难以成为晋升…

作者头像 李华
网站建设 2026/4/11 1:11:04

交通仿真软件:VISSIM_(21).交通仿真的未来趋势与挑战

交通仿真的未来趋势与挑战 在交通仿真领域,随着技术的不断发展和城市化进程的加快,交通仿真软件面临着新的趋势和挑战。本节将探讨交通仿真软件在未来的发展方向,以及这些趋势带来的技术挑战和解决方案。 1. 多模式交通仿真 1.1 原理 多模式交…

作者头像 李华
网站建设 2026/4/10 6:23:31

小程序毕设项目:基于springboot+微信小程序的校园外卖直送平台(源码+文档,讲解、调试运行,定制等)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华
网站建设 2026/4/9 22:02:16

基于ssm的鲜花售卖系统-计算机毕业设计源码+LW文档

摘要:随着互联网技术的发展和人们消费习惯的变化,鲜花售卖系统应运而生。本文详细阐述了基于SSM(Spring、SpringMVC、MyBatis)框架的鲜花售卖系统的研究背景意义、需求分析以及功能设计。该系统旨在满足消费者便捷购买鲜花的需求&…

作者头像 李华