Redis 哨兵模式
2026/4/29 18:57:35 网站建设 项目流程

一、基本概念

哨兵模式是 Redis 提供的一种高可用性解决方案,主要用于在主从复制架构中实现自动故障转移

  1. 主从复制(Replication)
    一个主节点(Master)负责写操作。
    多个从节点(Slave/Replica)复制主节点的数据,用于读操作或备份。
    如果主节点宕机,需要手动切换主节点,运维成本高。
  2. 哨兵(Sentinel)
    Sentinel 是 Redis 的独立进程,用于监控 Redis 主从实例的健康状态。
    自动完成故障检测、主从切换、通知客户端等任务。
    通常部署奇数个哨兵节点(如 3 个),以避免脑裂(Split-Brain)问题。

二、工作原理简述

  • 哨兵之间通过 gossip 协议互相发现并通信。
  • 哨兵定期向主/从节点发送 PING 命令判断其是否存活。
  • 当多数哨兵认为主节点“主观下线”(sdown)后,达成共识将其标记为“客观下线”(odown)。
  • 发起故障转移:
    选择一个合适的从节点(优先级、复制偏移量、运行 ID 等)提升为主节点。
    通知其他从节点复制新的主节点。
    更新哨兵的配置,并通知客户端。

三、配置示例(sentinel.conf)

# 监控名为 mymaster 的主节点,IP 为127.0.0.1,端口6379# 至少需要2个哨兵同意才认为主节点下线 sentinel monitor mymaster127.0.0.163792# 主节点无响应多少毫秒后标记为主观下线(默认30秒) sentinel down-after-milliseconds mymaster5000# 故障转移超时时间(毫秒) sentinel failover-timeout mymaster60000# 最多同时有几个从节点对新主节点进行同步(避免网络拥塞) sentinel parallel-syncs mymaster1

启动哨兵:

redis-sentinel/path/to/sentinel.conf

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询