ZooKeeper的基本原理
ZooKeeper是以Fast Paxos算法为基础的,通过选举产生一个leader,只有leader才能提交propose,具体算法可见Fast Paxos 。
2)ZooKeeper的基本运转流程
ZooKeeper主要存在以下两个流程:
- 选举Leader
- 同步数据
选举Leader过程中算法有很多,但要达到的选举标准是一致的:
- Leader要具有最高的zxid
- 集群中大多数的机器得到响应并follow选出的Leader
下图为ZooKeeper数据流动图,比较直观地描述了ZooKeeper是如何同步数据的:
http://zookeeper.apache.org/doc/trunk/zookeeperOver.html