Zookeeper选举机制
2017-01-10 19:36
239 查看
Zookeeper选举机制
Zk的选举机制,是基于Paxos这个算法来实现,这个算法的核心思想是:要解决在分布式环境下,就某一个协议达成一致的算法。
zk 用的是fast paxos 算法,相当于做了改进。
Paxos算法容易在分布式环境下产生活锁。
1:数据恢复阶段:
Zookeeper从本次磁盘里找一个最大事务id
事务概念:客户端做新建,跟新等操作属于事务,每个事务会产生一个事务id,并且这个事务id是递增的.
cZXID表示的创建节点的事务id
mZxid表示的修改此节点的事务id
最大的事务id也就意味着最近的事务
2:选举阶段
提交选举议案,议案里包含的内容
1.最大事务id
2.当前机器的领导id(就是myid里的那个数字)
3.逻辑时钟值,记录了当前选举的轮数
作用是确保多个zk处于同一轮选举当中
4.当前节点状态
Looking 表示正处于选举阶段
Leading表示正在任职阶段
Following表示正在做小弟阶段
3:pk原则
第一要比谁的最大事务id大,谁就当领导,如果最大事务id比较不出来,就比领导id,谁大谁就当领导,但是注意:必须满足过半统一原则
当Leader选举出来之后
第一件事要做原子广播,目的是要达到zk服务器集群的数据一致性,因为leader肯定是具有最大事务id,即具有做新数据的.通过原子广播端口进行数据通信,达到数据的一致性.
当zk服务集群收到客户端事务请求时,Leader会对此决议进行表决,当zk服务集群内存过半对此应用成果,则此好事务才真正提交成功.(过半统一机制就是某一个协议达成一致性)
相关文章推荐
- zookeeper选举机制解析
- zookeeper leader选举机制
- 理解zookeeper选举机制
- ZooKeeper的选举机制
- Zookeeper 的集群选举机制
- 理解zookeeper选举机制
- 理解zookeeper选举机制
- zookeeper 中的leader 选举机制
- Zookeeper选举机制及相关概念
- 【Zookeeper】Leader选举机制示例
- 理解zookeeper选举机制
- 2 weekend110的zookeeper的原理、特性、数据模型、节点、角色、顺序号、读写机制、保证、API接口、ACL、选举、 + 应用场景:统一命名服务、配置管理、集群管理、共享锁、队列管理
- ZooKeeper 选举机制
- 理解zookeeper选举机制
- 理解zookeeper选举机制
- zookeeper leader选举机制
- ZooKeeper选举机制
- 理解zookeeper选举机制
- Zookeeper的作用以及选举机制
- ZooKeeper 选举机制FasterLeaderElection详解