🔴 Redis 高可用集群架构图

Sentinel 模式 / Cluster 模式 / 完整高可用方案

🛡️ 模式一:Redis Sentinel(哨兵模式)

主从复制 + 哨兵监控自动故障转移,适用于中小规模部署

Client 应用
💻
Application
业务应用
Sentinel 集群(奇数部署)
👁️
Sentinel-1
Leader
👁️
Sentinel-2
Follower
👁️
Sentinel-3
Follower
Redis 主从集群
Redis Master
主节点(写)
sync
📥
Redis Slave-1
从节点
📥
Redis Slave-2
从节点
VIP 漂移
🌐
Virtual IP
VIP 漂移到新 Master

🛡️ 核心能力

  • 监控:实时检测 Master/Slave 状态
  • 通知:故障时发送告警
  • 自动故障转移:选举新 Master
  • 配置中心:客户端订阅最新地址

⚠️ 局限性

  • 主从复制为异步,存在数据丢失风险
  • 无法水平扩容,单节点压力
  • 故障切换需要 Sentinel 配合
  • 建议:3 Sentinel + 1M + 2S

🔗 模式二:Redis Cluster(集群模式)

数据分片 + 主从复制,去中心化设计,适用于大规模部署

💻
Smart Client
支持 MOVED 重定向
Node-1
Master (Slot 0-5460)
📥
Node-4
Slave of Node-1
Node-2
Master (Slot 5461-10922)
📥
Node-5
Slave of Node-2
Node-3
Master (Slot 10923-16383)
📥
Node-6
Slave of Node-3

📌 16384 个 Slot 分区,客户端计算 CRC16(key) % 16384 定位节点

🔄 每个分片 1 主 1 从,从节点自动 failover

🔗 核心能力

  • 数据分片:16384 个 Slot 均匀分布
  • 去中心化:节点间 Gossip 协议通信
  • 自动故障转移:Master 宕机从节点自动升级
  • 高可用:每个 Master 至少 1 个 Slave

⚠️ 局限性

  • 不支持跨 Slot 的事务/MULTI
  • Key 批量操作受 Slot 限制
  • 客户端需要支持 MOVED 重定向
  • 最小部署:3 主 3 从

🏢 模式三:企业级完整高可用架构

HAProxy/Sentinel + Cluster,双层高可用保障

接入层
💻
Client
业务应用
🔄
HAProxy
负载均衡
Sentinel 集群(故障检测 + 配置下发)
👁️
Sentinel-1
👁️
Sentinel-2
👁️
Sentinel-3
Redis Cluster(数据分片 + 主从复制)
M1
Node-1
S1
Node-4
M2
Node-2
S2
Node-5
M3
Node-3
S3
Node-6

🏢 企业级特点

  • HAProxy:四层负载均衡,连接池复用
  • Sentinel:故障检测 + 自动 failover
  • Cluster:数据分片 + 水平扩展
  • 双层高可用:任何单点故障不影响服务

📋 部署建议

  • 最小生产:3 HAProxy + 3 Sentinel + 3M3S
  • 中等规模:6 HAProxy + 3 Sentinel + 6M6S
  • 监控告警:Prometheus + Grafana
  • 运维工具:redis-cli --cluster, redis-trib
Client 客户端
Sentinel 哨兵
Master 主节点
Slave 从节点
Cluster Node
Proxy 代理