准备工作
- 阅读论文ZooKeeper: wait-free coordination for internet-scale systems
- 阅读raft理论与实践[6]-lab3a-基于raft构建分布式容错kv服务
为什么要阅读这篇文章
- Zookeeper是广泛使用的主从复制状态机服务
- 受Chubby(Google的全局锁定服务)启发
- 最初在Yahoo得到应用,后来在Mesos, HBase广泛使用
- Apache 开源项目
- 项目链接
- 主从复制的案例研究
- API支持广泛的用例
- 性能优越
发展Zookeeper的动机
- 服务集群中的许多应用程序需要协调通信
- 例如对于GFS服务需要master存储每一个块服务器的列表,master决定哪一个块是primary等。
- 应用程序之间需要相互发现
- MapReduce架构中需要了解GFS master的ip和port
- 性能优越
- 以lab3中3个节点的raft算法作对比,需要执行2次磁盘写入和一次消息往返,对于磁盘,大约50 msg/sec。对于ssd,大约200 msg/sec
- 但是Zookeeper能处理大约21,000 msg/sec,源于clien