您的位置:首页 > 新闻 > 资讯 > 沈阳seo排名外包_东莞网站制作_google网站增加关键词_全国疫情最新情报

沈阳seo排名外包_东莞网站制作_google网站增加关键词_全国疫情最新情报

2025/4/18 9:03:57 来源:https://blog.csdn.net/qq_42251944/article/details/146045006  浏览:    关键词:沈阳seo排名外包_东莞网站制作_google网站增加关键词_全国疫情最新情报
沈阳seo排名外包_东莞网站制作_google网站增加关键词_全国疫情最新情报
一、核心概念与关系

Redis 的 主从复制哨兵(Sentinel) 和 集群(Cluster) 是逐步演进的高可用与分布式解决方案,三者关系如下:

  1. 主从复制:数据冗余与读写分离的基础。

  2. 哨兵:在主从基础上实现自动故障转移(高可用)。

  3. 集群:在分片(Sharding)基础上集成主从复制和自动故障转移(分布式+高可用)。

三者关系可总结为:

  • 主从复制 是数据同步的基础机制。

  • 哨兵 是主从的增强,提供故障检测与自动切换。

  • 集群 是更高维度的分布式架构,融合主从复制和分片技术。


二、主从复制(Master-Slave Replication)
1. 核心作用
  • 数据冗余:从节点(Slave)复制主节点(Master)数据,实现备份。

  • 读写分离:主节点处理写请求,从节点处理读请求,提升读吞吐量。

2. 工作原理
  1. 全量同步

    • 从节点首次连接主节点时,主节点生成 RDB 快照发送给从节点。

    • 从节点加载 RDB 文件完成初始数据复制。

  2. 增量同步

    • 主节点将写命令写入 复制缓冲区(Replication Buffer)

    • 从节点持续接收并执行缓冲区中的命令,保持数据一致性。

3. 架构局限
  • 单点故障:主节点宕机后需手动切换从节点为主节点。

  • 写性能瓶颈:所有写操作集中在主节点。


三、哨兵(Sentinel)
1. 核心作用
  • 监控:持续检查主从节点健康状态。

  • 自动故障转移:主节点宕机时,选举新主节点并通知客户端。

  • 配置中心:客户端通过哨兵获取最新的主节点地址。

2. 工作原理
  1. 监控阶段

    • 哨兵通过定期发送 PING 命令检测节点状态。

    • 若主节点未响应,哨兵将其标记为 主观下线(SDOWN)

  2. 选举阶段

    • 多个哨兵协商确认主节点 客观下线(ODOWN)

    • 哨兵通过 Raft 算法选举 领导者哨兵 负责故障转移。

  3. 故障转移

    • 领导者哨兵从从节点中选出新主节点(基于优先级、复制偏移量等)。

    • 通知其他从节点复制新主节点,并更新客户端连接。

3.经典架构

  1.            +------------+  |  Sentinel  |  +------------+  |  
    +------------+     |      +------------+  
    |  Master    |<----+----->|  Slave 1   |  
    +------------+            +------------+  |  v  
    +------------+  
    |  Slave 2   |  
    +------------+  

4.适用场景

  • 中小规模 Redis 服务,需要高可用但无需水平扩展

四、Redis 集群(Cluster)
1. 核心作用
  • 数据分片(Sharding):将数据分布到多个节点,突破单机内存限制。

  • 高可用:每个分片(Shard)采用主从复制,支持自动故障转移。

2. 工作原理
  1. 分片机制

    • 集群将数据划分为 16384 个哈希槽(Slot),每个节点负责部分槽。

    • 客户端通过 CRC16(key) % 16384 计算 key 所属槽,路由到对应节点。

  2. 节点通信

    • 节点间通过 Gossip 协议 交换状态信息(如槽分配、节点状态)。

  3. 故障转移

    • 若主节点宕机,其从节点通过 选举机制 升级为新主节点(类似哨兵)。

    • 客户端自动重定向到新主节点。

3. 典型架构
+----------------+       +----------------+  
|  Master 1      |<----->|  Slave 1-1     |  
| (Slots 0-5460) |       | (Replica)      |  
+----------------+       +----------------+  |  v  
+----------------+       +----------------+  
|  Master 2      |<----->|  Slave 2-1     |  
| (Slots 5461-10922)|    | (Replica)      |  
+----------------+       +----------------+  |  v  
+----------------+       +----------------+  
|  Master 3      |<----->|  Slave 3-1     |  
| (Slots 10923-16383) |  | (Replica)      |  
+----------------+       +----------------+  
4. 关键特性
  • 数据迁移:支持动态增删节点,槽可重新分配。

  • 跨槽操作限制MGETMSET 等命令需所有 key 在同一节点,否则需用 {hash_tag} 强制路由。

5. 适用场景
  • 大规模数据存储,需水平扩展和高可用性。

五、三者对比总结
特性主从复制哨兵模式集群模式
核心目标数据冗余、读写分离高可用(自动故障转移)分布式存储 + 高可用
数据分布全量复制全量复制分片(16384 槽)
故障处理手动切换自动切换自动切换(内置哨兵逻辑)
扩展性垂直扩展(单机)垂直扩展水平扩展(多节点分片)
适用场景小型应用中小型高可用场景大型分布式系统

六、常见问题解答

Q1:集群模式下还需要哨兵吗?

  • 不需要。集群内置了故障检测与转移逻辑,无需额外部署哨兵。

Q2:主从复制能否与集群共存?

  • 可以。集群中的每个分片(主节点)可配置多个从节点,形成“主从+集群”架构。

Q3:如何选择架构?

  • 数据量小 + 高可用需求 → 哨兵模式。

  • 数据量大 + 高可用需求 → 集群模式。

Q4:集群的故障转移时间?

  • 通常 10~30 秒,依赖节点状态检测和选举机制。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com