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

【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、数据量超出单机内存容量时

相关文章:

  • LLaMA-Factory 微调 Qwen2-VL 进行人脸情感识别(二)
  • 【Python工具开发】k3q_arxml 简单但是非常好用的arxml编辑器,可以称为arxml杀手包
  • 《影像引导下骨盆创伤手术的术前骨折复位规划:基于学习的综合流程》|文献速递-深度学习医疗AI最新文献
  • curl获取ip定位信息 --- libcurl-easy(二)
  • 如何在Windows本机安装Python并确保与Python.NET兼容
  • Vue 组件库发布实战(含 TypeScript 支持)
  • 【单片机期末】单片机系统设计
  • .Net Framework 4/C# 关键字(非常用,持续更新...)
  • Playwright 测试框架 - .NET
  • 嵌入式学习笔记-freeRTOS taskENTER_CRITICAL(_FROM_ISR)跟taskEXIT_CRITICAL(_FROM_ISR)函数解析
  • [密码学实战]C语言使用SDF库构建国密算法RESTful服务(五)
  • 机器学习笔记【Week7】
  • 在WPF项目中集成Python:Python.NET深度实战指南
  • Unreal从入门到精通之 UE4 vs UE5 VR性能优化实战
  • 基于大模型的 UI 自动化系统
  • Auto-Coder使用GPT-4o完成:在用TabPFN这个模型构建一个预测未来3天涨跌的分类任务
  • 智能仓储的未来:自动化、AI与数据分析如何重塑物流中心
  • 完美搭建appium自动化环境
  • 微信小程序动态效果实战指南:从悬浮云朵到丝滑列表加载
  • Significant Location Change
  • 上饶哪有做网站的公司?/网络精准营销推广
  • 做公司网站注意事项/网页制作培训网站
  • 巴州建设工程信息网/企业seo培训
  • 模仿网站制作/seo课程心得体会
  • 如何建设一个彩票网站/软件培训机构有哪些?哪个比较好
  • ai做网站 如何切图/黄页网站推广公司