You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Redis Cluster网络恢复后,双数据中心节点数相同时的数据整合机制

Redis Cluster网络恢复后的数整合逻辑

当跨数据中心的Redis Cluster在网络分区恢复后,会按照以下步骤完成数据与拓扑的整合:

1. 集群身份校验:先认"合法主集群"

网络恢复后,所有节点通过Gossip协议重新建联并交换状态。Redis Cluster的核心判定逻辑是主节点法定人数——只有拥有超过半数主节点的分区,才会被认定为有效集群。你之前两个分区节点数一致,但主节点数量的占比才是关键,比如原集群有6个主节点,那必须有4个及以上主节点的分区才算合法。

  • 非合法分区的所有节点会自动进入"待同步"状态,放弃自己的槽位控制权。

2. 槽位与角色自动修正

合法集群的主节点会持续广播自己的槽位所有权信息,整个集群的槽位映射表会快速统一:

  • 原非合法分区的主节点,如果在合法集群中有对应的从节点(或者它本身是某个合法主节点的原从节点),会自动转为从节点角色;如果没有对应主节点,会成为待分配的空节点。
  • 所有槽位最终会被合法集群的主节点接管,不会出现槽位冲突的情况。

3. 数据同步:以合法主节点数据为准

数据同步完全遵循Redis的主从复制逻辑:

  • 转为从节点的原非法分区节点,会向对应的主节点发起同步请求。如果复制偏移量差距过大,主节点会生成RDB文件全量同步;差距小的话则同步增量命令流。
  • 重点:非法分区期间产生的写数据会被完全丢弃,Redis Cluster没有多版本合并机制,所有从节点最终会和主节点数据完全一致。如果非法分区期间有人误写数据到这个分区,那部分数据会丢失,这是Redis Cluster的设计特性。

4. 集群状态收敛

当所有节点完成同步、槽位映射一致后,Gossip协议会把最终的拓扑状态同步到每个节点。此时集群回到正常工作状态,所有读写请求可以正常路由到对应槽位的主节点。

内容的提问来源于stack exchange,提问作者Артем Слепушко

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 19:52:09