知识卡片

脑裂恢复要先选信任分区再定重启顺序

专业/工作 · 595.c

内容

从网络分区恢复时,必须先挑出一个”信任分区”作为唯一的数据权威来源——挑选优先级依次是含磁盘节点、节点数最多、队列数最多、连接数最多;然后严格按固定顺序重启:要么先重启所有非信任分区节点、必要时再重启信任分区节点,要么整体关闭全部节点后统一重启且确保信任分区节点最先启动。如果打乱顺序逐个重启,某个节点启动时无法判断自己该向哪个历史数据版本对齐,可能导致整个集群的数据权威落到了原本不被信任的分区上,造成难以估量的数据损失。发散:脑裂恢复的核心难题不是让节点重新连通,而是让所有节点对”谁的历史更权威”达成一致——顺序错乱本质上是让多个节点各自局部判断权威归属,制造了第二次脑裂的风险。

参考来源

《RabbitMQ实战指南》第10章《网络分区》