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

【Redis】Cluster集群

目录

  • 1、背景
  • 2、核心特性
    • 【1】数据分片
    • 【2】高可用
    • 【3】去中心化
    • 【4】客户端重定向
  • 3、集群架构
    • 【1】最小规模
    • 【2】节点角色
    • 【3】通信协议
  • 4、数据分片与路由
    • 【1】哈希槽分配
    • 【2】客户端路由逻辑
  • 5、故障恢复
  • 6、适用场景

1、背景

Redis Cluster是Redis官方提供的分布式解决方案,用于实现数据分片和高可用性。

2、核心特性

【1】数据分片

采用哈希槽(Hash Slot)机制,将数据划分为16384个槽,每个节点负责一部分槽。数据通过CRC16算法计算出一个16位的值,再对16384取模计算所属槽位,实现均匀分布。

【2】高可用

每个主节点可以配置多个从节点,主节点故障时,从节点通过选举晋升为新主节点(基于Raft协议)

【3】去中心化

节点通过Gossip协议通信,无需依赖外部协调服务

【4】客户端重定向

客户端直接与任意及节点通信,若请求的键不属于当前节点,会返回MOVED或ASK错误,引导客户端重定向到正确节点

3、集群架构

【1】最小规模

1、至少需要3个主节点和3个从节点

【2】节点角色

1、主节点:处理读写请求,管理分配的哈希槽
2、从节点:复制主节点数据,故障时替换主节点

【3】通信协议

1、Gossip协议:节点间交换状态信息(如槽分配、节点存活)
2、PING/PONG消息:用于检测节点健康状态

4、数据分片与路由

【1】哈希槽分配

1、集群启动时,管理员需手动或通过工具(如redis-cli --cluster create)分配槽位

【2】客户端路由逻辑

1、若键所属槽位在当前节点,直接执行命令
2、若不在,且该槽的迁移未在进行中时,返回MOVED [slot] [target-node:port]错误,客户端需缓存槽与节点的映射关系
3、当集群正在执行数据迁移,且请求的键已被迁移到目标节点,但槽的归属尚未完全转移时,反会ASK [slot] [target-node:port]错误

5、故障恢复

1、主节点故障检测:其它节点通过心跳检测超时标记节点为PFAIL,超过半数主节点确认后标记为FAIL
2、从节点晋升:从节点发起选举,获取多数主节点投票后晋升为新主节点
3、网络分区处理:若分区导致少数派节点无法联系多数派,集群会停止写入(通过cluster-require-full-coverage配置控制)

6、适用场景

1、需要水平扩展读写性能的场景
2、对高可用性要求较高的服务
3、数据量超出单机内存容量时

http://www.xdnf.cn/news/12550.html

相关文章:

  • C++11 右值引用:从入门到精通
  • Vue3 卡片绑定滚动条 随着滚动条展开效果 GSAP动画库 ScrollTrigger滚动条插件
  • 2025/6/4—halcon算子及知识点总结
  • windows11右键取消二次加载
  • 网络编程之服务器模型与UDP编程
  • CVPR 2025 | 港中文 MMLab 提出文生图模型 T2I-R1,文生图进入R1时刻!
  • 让敏感数据在流转与存储中始终守护在安全范围
  • mysql的分页场景下,页数越大查询速度越慢的解决方法
  • K-Means颜色变卦和渐变色
  • linux系统终端远程控制和传输方式
  • 【 *p取出内容 a得到地址】
  • clickhouse 学习总结
  • KuiperInfer跟学第二课——张量的构建与实现
  • 什么是质量管理系统?质量管理系统都有哪些功能?
  • 5G网络中频段的分配
  • 无公网IP外网可访问项目研发管理软件 codes
  • AI界的“专家会诊”:MoE模型如何让AI变得更聪明?
  • Java多态机制深度解析
  • 在网页加载时自动运行js的方法(2025最新)
  • Linux 前后端项目问题排查命令手册
  • 量化面试绿皮书:5. 扑克牌游戏概率与期望值
  • 深入理解Java单例模式:确保类只有一个实例
  • android app 一个 crash的解决过程!
  • count() + case when统计问题
  • Next.js+prisma开发二
  • 【LLMs篇】14:扩散语言模型的理论优势与局限性
  • H_Prj06 8088单板机的串口
  • 贝叶斯网络_TomatoSCI分析日记
  • vanna+deepseek+chainlit 实现自然语言转SQL的精度调优
  • 一种全新的非对称加密算法