duan2

导航

 

会话状态

在zookeeper客户端与服务端成功完成连接创建后,就建立了一个会话。zookeeper会在整个运行期间的生命周期中,会在不同

的会话状态间进行切换,这些状态一般,这些状态一般可以分为CONNECTING,CONNECTED,RECONNECTING,RECONNECTED

和CLOSED。

 

一旦客户端开始创建Zookeeper对象,那么客户端状态就会变成CONNECTING,同时客户端开始从上述服务器地址列表中捉个选取IP

进行网络连接,直到成功连接上服务器然后将客户端状态变更为CONNECTED。

通常情况下伴随着网络闪断或是其他原因,客户端与服务器之间的连接会出现断开情况。一旦碰到这种情况,zookeeper客户端会自动进行

重连操作。同时客户端的状态会变成CONNECTING。直到重新连接上服务端后,状态变为CONNECTED。

另外如果出现会话超时,权限检查失败或则客户端主动退出程序等情况,那么客户端的状态会变为CLOSED

会话创建

Session是zookeeper中的会话实体,代表了一个客户端会话,包括以下4个属性。

 

服务器的角色介绍

 Leader

Leader服务器是整个zookeeper集群工作机制的核心,其主要工作有以下两个

  • 事务请求的唯一调度和处理这,保证集群事务处理的顺序性。
  • 集群内部各服务器的调度者

 

Follower

Follower服务器时zookeeper集群状态的跟随者,其主要工作有一下三个。

  • 处理客户端非事务请求,转发事务请求给Leader服务器。
  • 参与事务请求Proosal的投票
  • 参与Leader选举投票

 

Oberver

Oberver是zookeeper引入的全新的服务器角色。observer服务器在工作原理上和Follower基本是一致的。

对非事务请求,都可以进行独立的处理,对于事务请求则会转发给leader服务器。

和follower的区别是不参与投票,包括事务请求Proposal的投票和Leader选举投票。

 

posted on 2018-06-01 23:38  duan2  阅读(156)  评论(0编辑  收藏  举报