zookeeper
zookeeper copied to clipboard
ZOOKEEPER-3417:[WIP]add the new doc:zookeeperProtocols to introduce the implementation details of ZAB comparing with the raft
- this is still a work in the progress,Plz don't review before removing the WIP tag.
- more details in the ZOOKEEPER-3417
Consider adding another wiki page similar as Paxos vs ZAB: https://cwiki.apache.org/confluence/display/ZOOKEEPER/Zab+vs.+Paxos This might be better than adding a doc using a pull request (let me know if you need wiki editing access).
Also, before going into implementation details, it's worth to compare ZAB / Raft at specification level. One thing I wanted to do but did not get a chance was to write a TLA+ spec for ZAB (Raft has one already). Maybe we should consider this as part of this task.
- Yep, I saw [raft TLA+ spec](the https://github.com/ongardie/raft.tla/blob/master/raft.tla) .writing a one for the ZAB is a challenging work which I'm also interested in.:D
- The intention of this PR will also introduces the ZAB from the four parts:
leader election,log replication,safety,membership change. we will discussion the details: how to elect a leader.how many RPC typs and their parameters,how to ensure the consistency,how to process some tricky corner cases.etc
@maoling This is great documentation work, please keep up.