Fast paxos requires at least 3t + 1 acceptors, where t is the number of servers which are allowed to fail [3]. This is conflict with the fact that a zookeeper cluster with 3 servers works well even if one server failed.
The leader election algorithm must make sure P1. However paxos does provide such guarantee.
In paxos, a leader is also required to achieve progress. There are some similarities between the leader in paxos and the leader in zookeeper. Even if more than one servers believe they are the leader, the consistency is preserved both in zookeeper and in paxos. this is very clearly discussed in [1] and [2].
然后是作者三次对比
1)邮件列表
Our protocol instead, has only two phases, just like a two-phase commit protocol. Of course, for Paxos, we can ignore the first phase in runs in which we have a single proposer as we can run phase 1 for multiple instances at a time, which is what Ben called previously Multi-Paxos, I believe. The trick with skipping phase 1 is to deal with leader switching.
2)出书的访谈
We made a few interesting observations about Paxos when contrasting it to Zab, like problems you could run into if you just implemented Paxos alone. Not that Paxos is broken or anything, just that in our setting, there were some properties it was not giving us. Some people still like to map Zab to Paxos, and they are not completely off, but the way we see it, Zab matches a service like ZooKeeper well.
zk的分布式一致性算法有了个名称叫Zab
3)论文
We use an algorithm that shares some of the character- istics of Paxos, but that combines transaction logging needed for consensus with write-ahead logging needed for data tree recovery to enable an efficient implementa- tion.
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-37027-2.html
打到印度三不行么