知识卡片
原子广播要保两件事
内容
Zab 故障恢复必须保证已投递提议最终在其他副本也投递,同时跳过未提交且不该存在的旧提议。发散:恢复协议不仅要补齐成功,还要删除幽灵历史。
参考来源
- 位置:《分布式系统与一致性》第12章《原子广播算法Zab》"保证1""保证2"一节(源文件:_epub-src/OEBPS/Text/chapter16.xhtml)
- 结论依据:原文明确"保证1:如果一个提议在某个副本上已经被投递,那么一定要保证这个提议在其他副本上也被投递",以及"保证2"示例中旧leader未提交的Proposal[0,3]"是一个应该被跳过(skipped)的提议……提交操作应该跳过Proposal[0,3]"。
- 原始内容:保证1:如果一个提议在某个副本上已经被投递,那么一定要保证这个提议在其他副本上也被投递……server1之前接受的Proposal[0,3]这个提议并不是已提交的提议,所以是不应该存在的,应该被删除……Proposal[0,3]是一个应该被跳过(skipped)的提议。