redis sentinel 与 clauster 的区别
Redis Sentinel(哨兵)和Redis Cluster(集群)是Redis提供的两种不同的高可用和扩展性解决方案,它们的设计目标和适用场景有显著区别:
1. 核心功能与目标
-
Redis Sentinel
- 主要解决主从架构的高可用问题,实现自动故障转移
- 监控主从节点状态,当主节点故障时自动将从节点提升为主节点
- 提供主节点地址的自动发现能力(客户端通过哨兵获取当前主节点地址)
- 不解决数据分片问题,所有节点存储相同数据
-
Redis Cluster
- 主要解决数据分片和水平扩展问题,同时提供高可用能力
- 将数据自动分片到多个节点(最多16384个哈希槽)
- 每个分片默认有1主N从的高可用结构
- 支持自动故障转移和节点扩容/缩容
2. 架构差异
-
Sentinel架构
- 由一组哨兵进程 + 一个主节点 + 多个从节点组成
- 所有数据在主从节点间完全复制
- 哨兵节点不存储数据,仅负责监控和决策
-
Cluster架构
- 由多个主节点(每个负责一部分哈希槽)和从节点组成
- 每个主节点负责特定范围的哈希槽(如节点1负责0-5460槽)
- 从节点仅作为对应主节点的备份
- 无专用监控节点,