我试图理解为什么当 Paxos 做同样的事情时需要 ZAB。我阅读了多个文档和文章,得出的结论是 Zookeeper 要求指令的顺序完全相同。但是对于基本的 paxos,领导者是否不会向具有确切索引的日志推送消息?因此,即使消息被重新排序,最终消息也会进入完全相同的日志索引并最终得到完全相同的日志。那么,这是否意味着在 Paxos 中,所有副本都以完全相同的顺序获得相同的指令?
所以请按如下顺序回答我的问题
参考文献。
我可以推荐您参考 https://en.wikipedia.org/wiki/Atomic_broadcast 吗?
共识和原子广播彼此等效(如链接中所述)。所以两者都可以使用。
Paxos,从技术上来说,是一个协议家族。当人们开始实际实施时,需要涵盖许多边缘情况。例如。节点高效上下线、节点更换、日志归档等
ZAB 是根据设计人员所需的规格支持所有这些情况的协议。
总结一下:paxos 和 zab(以及其他协议)都提供了正确性,但这些协议的效率有所不同。