讲师中心 微信公众号
AI工具推荐 视频效率加速

Redis 主从架构中怎么实现自动选主切换

陌静大大_2961

陌静大大_2961

发布时间:2026-08-10 08:25:19

|

437人浏览过

|

来源于php中文网

原创

Redis主从架构依赖Sentinel实现自动选主切换:通过心跳探测标记主观下线,投票达成客观下线,按复制偏移量、运行时长、优先级等规则选举新主,并执行SLAVEOF命令完成故障转移。

redis 主从架构中怎么实现自动选主切换

Redis 主从架构本身不支持自动选主切换,必须依赖外部高可用组件——最常用、最成熟的就是 Redis Sentinel(哨兵)。它不是 Redis 内置功能,而是一套独立运行的监控与故障转移系统。

哨兵如何完成自动选主切换

哨兵通过分布式协同机制实现客观判断和民主选举,整个过程无需人工干预:

  • 持续心跳探测:每个哨兵每秒向所有 Redis 实例(主、从)发送 PING 命令;若在 down-after-milliseconds(如 5000ms)内无响应,标记该节点为“主观下线”
  • 投票确认故障:当某个哨兵判定主节点主观下线后,会向其他哨兵发起询问;若达到配置的 quorum 数量(如 2/3 个)也认为主节点不可达,则触发“客观下线”
  • 从节点筛选与选举:哨兵组从所有在线从节点中,按规则选出最合适的候选者——优先选择复制偏移量最新、运行时间最长、优先级(slave-priority)最高、ID 最小的从节点
  • 执行故障转移:当选出新主后,一个哨兵作为 Leader 向该从节点发送 SLAVEOF NO ONE 命令将其提升为主;再通知其余从节点执行 SLAVEOF 指向新主,并更新自身配置

关键配置项说明

哨兵的可靠性高度依赖合理配置,核心参数需协同设定:

redis-tools
redis-tools

按类别查找Redis命令、检测服务器连接、监控键数量和内存占用,支持离线速查表。

下载
  • sentinel monitor <master-name><ip><port><quorum></quorum></port></ip></master-name>:定义被监控主节点及最低同意数,quorum 应 ≤ 哨兵总数且建议 ≥ ⌈N/2⌉+1(如 3 哨兵设为 2)
  • sentinel down-after-milliseconds:主观下线阈值,太短易误判,太长影响恢复速度,生产环境通常设为 3–30 秒
  • sentinel failover-timeout:故障转移总超时时间,需覆盖从节点同步、客户端重连等耗时,建议 ≥ 60 秒
  • slave-priority(在从节点 redis.conf 中设置):数值越小优先级越高,可用于指定偏好提升的节点

部署与启动顺序要求

哨兵集群必须满足最小规模并遵循启动逻辑,否则无法达成共识:

  • 最少 3 个哨兵节点,部署在不同物理机或可用区,避免单点故障导致无法投票
  • 先确保主从复制已正常建立(INFO REPLICATION 显示 role:slave 且 master_link_status:up)
  • 再依次启动哨兵进程:redis-sentinel /path/to/sentinel.conf,不能同时启动全部,建议错开几秒
  • 客户端必须连接哨兵地址(如 sentinel://host:26379),由哨兵返回当前主节点地址,而非直连固定 IP

验证切换是否生效

切换完成后,可通过以下方式快速确认结果:

  • 查看哨兵日志:搜索 +failover-state-select-slave、+switch-master 等关键字
  • 登录任一哨兵执行:SENTINEL masters 查看当前主节点 IP 和端口
  • 登录原主节点执行:INFO REPLICATION,角色应已变为 slave,且 master_host 指向新主
  • 客户端重新获取主节点连接后,写入操作应能成功,且数据在新主上可查

热门AI工具

更多
WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

Atoms
Atoms Hot

Atoms是一款AI智能体工具,第一支自动构建真实业务的 AI 团队。

SkildArt
SkildArt Hot

SkildArt是一款AI文本写作工具,一站式 AI 视觉创作平台。

讯飞绘文

讯飞绘文是一款由科大讯飞推出的一站式 AIGC 内容运营平台。

UpDream
UpDream Hot

一款AI视频创作工具,主要用于哔哩哔哩推出的自研AI视频创作工具,适合需要提升相关任务效率的用户。

Lovart
Lovart Hot

一款面向视觉设计创作的AI设计平台,可通过智能体和画布工作流辅助制作海报、Logo、网页、PPT及其他视觉内容。

蛙蛙写作

一款AI论文写作工具,主要用于超级AI智能写作助手,适合需要提升相关任务效率的用户。

相关专题

更多
常用的数据库软件
常用的数据库软件

常用的数据库软件有MySQL、Oracle、SQL Server、PostgreSQL、MongoDB、Redis、Cassandra、Hadoop、Spark和Amazon DynamoDB。更多关于数据库软件的内容详情请看本专题下面的文章。php中文网欢迎大家前来学习。

4709

2023.11.02

内存数据库有哪些
内存数据库有哪些

内存数据库有Redis、Memcached、Apache Ignite、VoltDB、TimesTen、H2 Database、Aerospike、Oracle TimesTen In-Memory Database、SAP HANA和ache Cassandra。更多关于内存数据库相关问题,详情请看本专题下面的文章。php中文网欢迎大家前来学习。

4255

2023.11.14

mongodb和redis哪个读取速度快
mongodb和redis哪个读取速度快

redis 的读取速度比 mongodb 更快。原因包括:1. redis 使用简单的键值存储,而 mongodb 存储 json 格式的数据,需要解析和反序列化。2. redis 使用哈希表快速查找数据,而 mongodb 使用 b-tree 索引。因此,redis 在需要高性能读取操作的应用程序中是一个更好的选择。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

8052

2024.04.02

redis怎么做缓存服务器
redis怎么做缓存服务器

redis 作为缓存服务器的答案:redis 是一款开源、高性能、分布式的键值存储,可作为缓存服务器使用。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

663

2024.04.07

redis怎么解决数据一致性
redis怎么解决数据一致性

redis 提供了两种一致性模型,以维护副本数据一致性:强一致性 (sync) 确保写操作仅在复制到所有从节点后才完成;最终一致性 (async) 则在主节点上写操作后认为已完成,牺牲一致性换取性能。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

776

2024.04.07

mysql和redis怎么保证双写一致性
mysql和redis怎么保证双写一致性

确保 mysql 和 redis 双写一致性的技术包括:1、事务性更新:同时更新 mysql 和 redis,保证一致性;2、主从复制:mysql 主服务器更改同步到 redis 从服务器;3、基于事件的更新:mysql 记录更改并发送到 redis等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

8162

2024.04.07

redis缓存一般存些什么数据
redis缓存一般存些什么数据

redis缓存中存储的数据类型包括:字符串、哈希、列表、集合、有序集合、位图、地理空间数据和hyperloglog。这些数据类型适用于存储各种数据,从简单信息到复杂对象和地理位置。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

1180

2024.04.07

redis的8种数据类型有哪些
redis的8种数据类型有哪些

redis 提供 8 种数据类型:字符串(文本、数字、二进制)、哈希(键值对)、列表(有序集合)、集合(无序唯一元素)、有序集合(按分数排序)、地理空间(地理位置)、hyperloglog(估计大数据基数)和位图(位序列存储)。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

1256

2024.04.07

Vite 项目如何打包和部署
Vite 项目如何打包和部署

Vite项目打包部署专题汇集生产构建、产物预览、输出目录、资源路径、Nginx与GitHub Pages部署及常见白屏和路由404问题的已审核文章,帮助读者完成上线流程。

40

2026.10.28

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
phpEnv手册
phpEnv手册

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn