Redis给予的两种不同的高可用和扩展性解决方案,它们的设计目标和适用场景有显著区别:就是Redis Sentinel(哨兵)和Redis Cluster(集群)

1. 核心功能与目标

  • Redis Sentinel

    • 主要解决主从架构的高可用问题,完成自动故障转移
    • 监控主从节点状态,当主节点故障时自动将从节点提升为主节点
    • 提供主节点地址的自动发现能力(客户端通过哨兵获取当前主节点地址)
    • 不解决数据分片疑问,所有节点存储相同数据
  • Redis Cluster

    • 主要解决素材分片和水平扩展问题,同时提供高可用能力
    • 将数据自动分片到多个节点(最多16384个哈希槽)
    • 每个分片默认有1主N从的高可用结构
    • 支持自动故障转移和节点扩容/缩容

2. 架构差异

  • Sentinel架构

    • 由一组哨兵进程 + 一个主节点 + 多个从节点组成
    • 所有数据在主从节点间完全复制
    • 哨兵节点不存储内容,仅负责监控和决策
  • Cluster架构

    • 由多个主节点(每个负责一部分哈希槽)和从节点组成
    • 每个主节点负责特定范围的哈希槽(如节点1负责0-5460槽)
    • 从节点仅作为对应主节点的备份
    • 无专用监控节点,
posted on 2025-09-21 08:48  ycfenxi  阅读(7)  评论(0)    收藏  举报