OmniPaxos在解决部分连接问题方面, 是如何处理的?对比其他同类协议, OmniPaxos显然更加高效。为什么呢?在本文中, 我们将会获得这些问题的答案。
多数共识协议,如Paxos 和 Raft, 可以在节点完全连接的情况下完美运行。在实际应用中,这种理想情况几乎不可能实现, 因为经常会出现网络分区问题。当存在连接性中断时,Paxos和Raft之类的协议通常必须选择停止确定输出来确保安全性。然而,此种情况通常不能重试,因为在网络分区过程中也很可能会出现重复确定输出的情况。因此,这种非完全连接状态下是产生了变数,而对此我们应该如何操作呢?
在单个分区中运行一些用途更广泛的共识协议,如PBFT, ZAB 和 Viewstamped Replication,是一种解决方案——虽然在提供出资料这件事上,与另一分区之间的节点通信并无什么区别,但无法建立多个分区。这限制了其在网络分区中的应用范围。
另一方面, OmniPaxos的优越性在于其一致性,这是它对部分连接性的应对能力的结果,不管是在同时存在多个分区的情况下运行,还是在多次断开连接之后重新建立。事实上, OmniPaxos不仅仅超越了Paxos和Raft,几乎在所有方面都能够胜过其他协议。
总之,令人印象深刻的是, OmniPaxos具有可扩展性和适应性,且能够在部分可连接的网络条件下实现全局一致性, 这令其成为一种无异议的最佳选择.
了解更多有趣的事情:https://blog.ds3783.com/