文章目录
paper:ZooKeeper: Wait-free coordination for Internet-scale systems
本来七月初就准备写的一篇文章,因为忙毕业、忙其他项目,拖到了现在。
相比Raft,ZooKeeper有两点值得关注:
- 如何设计general-purpose coordination service的API;
- 如何使用更多的server提供更强的性能
Raft作为一个library来实现的,每一个上层应用需要与library交互,设计实现起来复杂。
在Raft中,Leader负责处理clients的所有request,Leader成为了整个系统的瓶颈,更多的Follower只会增加Leader的负担(需要与Follower通信)。
ZooKeerper作为一个单独的服务来实现。
Linearizable for all writes
FIFO per client
TODO