首页 > 技术文章 > zookeeper原理

ng1991 2017-07-06 11:55 原文

1、分布式应用程序协调服务

2、分布式应用程序可以基于它实现同步服务,配置维护和命名服务等

3、leader:领导者负责投票的发起和决议,更新系统状态

     learner:follower\observer

     follower:用于接收客户端请求,并向客户端返回结果,在选主过程中参与投票

     observer:接收客户端连接,将写请求转发给leader。但不参与投票,只同步leader状态。observer的目的是扩展系统,提高读取速度。

4、zookeeper的核心是原子广播,这个机制保证了各个Server之间的同步。实现这个机制叫zab协议,zab协议的两种模式,恢复模式(选主)、广播模式(同步)。当        服务启动或者在领导者崩溃后,Zab就进入了恢复模式,当领导者被选举出来,且大多数Server完成了和leader的状态同步以后,恢复模式就结束了。状态同步保证了      leader和Server具有相同的系统状态。

5、为了保证事务的顺序一致性,zookeeper采用了递增的事务id号(zxid)来标识事务。所有的提议(proposal)都在被提出的时候加上了zxid。

     zxid 64位,前32位代表leader,后32位递增。

6、Server的三种状态:looking、leading、following

7、选举leader(basic paxos \  fast paxos)

 

 

 

 

 

 

 8、选举leader后同步状态

 

 

推荐阅读