当前位置: 首页 > news >正文

Redis 常见的集群架构

Redis 常见的集群架构

以下是 Redis 常见的集群架构及其核心模式详解,结合其设计原理、适用场景和优缺点进行综合说明:


一、主从复制模式

架构原理

  • 角色划分:包含一个主节点(Master)和多个从节点(Slave)。主节点处理所有写操作,从节点通过异步复制同步主节点数据,仅支持读操作。
  • 数据同步:首次连接时从节点触发全量同步(RDB快照),后续通过增量命令(AOF)保持数据一致性。
  • 手动故障恢复:主节点宕机时需人工干预将从节点提升为新主节点。

优缺点

  • 优点读写分离提升读性能;部署简单,适合小规模场景。
  • 缺点:无自动故障转移;数据量受单机内存限制;主节点宕机导致写服务中断。

适用场景:数据备份、读请求远多于写的场景(如缓存系统)。

架构图 :

image


二、哨兵模式(Sentinel)

架构原理

  • 哨兵集群:由多个哨兵节点组成,监控主从节点状态,通过 Raft 算法选举 Leader 哨兵主导故障转移。
  • 自动故障切换:主节点客观下线后,根据优先级、复制偏移量等规则选举新主节点,并通知客户端更新配置。
  • 弱一致性:数据同步异步进行,故障转移期间可能出现短暂数据不一致。

优缺点

  • 优点:高可用性,自动容错;支持读写分离。
  • 缺点数据存储未分片,内存和写入性能受单节点限制;需额外维护哨兵集群。

适用场景:中小规模系统,需高可用但无需分片的场景(如核心业务缓存)。

架构图 :

![Editor _ Mermaid Chart-2025-04-14-062928](https://i-blog.csdnimg.cn/direct/fe2f103e93034d218e2f39df9fa8a320.png)​

三、Cluster 模式(官方分布式方案)

架构原理

  • 数据分片:通过哈希槽(16384个槽位)将数据分布到多个主节点,客户端请求由节点自动路由。
  • 多主多从:每个主节点对应一至多个从节点,支持自动故障转移。默认情况下 从节点只是做为热备节点,不参与读。从而保证数据一致性
  • 去中心化:节点间通过 Gossip 协议通信,无需依赖外部代理。

优缺点

  • 优点:支持横向扩展;高可用性与高性能结合;数据分散存储突破单机内存限制。
  • 缺点:不支持跨节点事务和多键操作(如 MGET);配置复杂度较高。

适用场景:大规模数据存储和高并发场景(如电商库存系统)。

架构图:

Editor _ Mermaid Chart-2025-04-14-070549


四、 代理模式 (第三方扩展方案)

1. Codis
  • 架构:通过代理层(Codis-Proxy)实现数据分片,依赖 ZooKeeper 管理元数据。

  • 特点:支持平滑扩容;兼容 Redis 协议,客户端无感知。

  • 缺点:需修改 Redis 源码(codis-server);依赖外部组件(如 ZooKeeper)。

  • 架构图 :

    Editor _ Mermaid Chart-2025-04-14-072219

2. Twemproxy
  • 架构:轻量级代理,支持多 Redis 实例分片和负载均衡。
  • 特点:部署简单;性能损失约 20%。
  • 缺点:代理层单点故障;不支持动态扩缩容。

适用场景:需快速实现分片但暂不迁移至 Cluster 的过渡方案。


五、模式对比与选型建议

模式数据分片自动容错扩展性适用规模
主从复制低(垂直扩展)小数据量、低并发
哨兵模式中(主从复制)中小规模高可用场景
Cluster 模式高(水平扩展)海量数据、高并发
Codis/Twemproxy✅(代理层)中(依赖代理配置)过渡或特定分片需求

选型建议

  • 优先选择 Redis Cluster:适用于大规模分布式场景,兼顾分片与高可用。
  • 慎用主从/哨兵模式:仅适合数据量小且无分片需求的场景。
  • 代理模式的妥协:在无法升级到 Cluster 时选择,但需权衡运维成本。

相关文章:

  • 基于SpringBoot的社区老人健康信息管理系统(源码+数据库+万字文档)
  • 用AI直接生成架构图的初步探索
  • 电商中的订单支付(内网穿透)
  • python ftplib 上传文件名 乱码的解决办法
  • 网络入侵检测Suricat之流(flow)检测
  • 安卓性能调优之-掉帧测试
  • 第十九讲延续 简单理解什么是XGboost模型
  • sqlalchemy orm查询语法与多对多外键关系relationship使用
  • Redis高频面试题(含答案)
  • 嵌入式C语言 - 计算机存储体系与32位CPU寻址能力解析
  • 【Redis】数据结构和内部编码
  • 轨道力学课程习题集
  • PDF解析示例代码学习
  • 《Mycat核心技术》第22章:搭建Mycat+Zookeeper+HAProxy+Keepalived+MySQL高可用架构
  • 如何使用 ONLYOFFICE 恢复之前的文件版本?
  • 5分钟学会接口自动化测试框架
  • 巴西pwa游戏出海推广本土网盟cpi广告优势
  • 深度解析Redis过期字段清理机制:从源码到集群化实践 (一)
  • 如何使用通义灵码玩转Docker - AI助手提升开发效率
  • Oracle 分析函数(Analytic Functions)
  • 微软宣布将裁员3%
  • 国务院关税税则委员会公布公告调整对原产于美国的进口商品加征关税措施
  • 王毅谈中拉论坛十年成果
  • 兰州大学教授安成邦加盟复旦大学中国历史地理研究所
  • 比特币挖矿公司GRYP股价涨超171%:将与特朗普儿子创设的公司合并
  • 城事 | 重庆新增热门打卡地标,首座熊猫主题轨交站亮相