想搞网站建设,网站策划论坛,wordpress wp_video_shortcode,游戏优化是什么意思客户端与服务端之间的连接是基于 TCP 长连接#xff0c;client 端连接 server 端默认的 2181 端口#xff0c;也就
是 session 会话。
从第一次连接建立开始#xff0c;客户端开始会话的生命周期#xff0c;客户端向服务端的ping包请求#xff0c;每个会话都可以设置一个…
客户端与服务端之间的连接是基于 TCP 长连接client 端连接 server 端默认的 2181 端口也就
是 session 会话。
从第一次连接建立开始客户端开始会话的生命周期客户端向服务端的ping包请求每个会话都可以设置一个超时时间。
Session 的创建
sessionID: 会话ID用来唯一标识一个会话每次客户端创建会话的时候zookeeper 都会为其分配一个全局唯一的 sessionID。zookeeper 创建 sessionID 类 SessionTrackerImpl 中的源码。 Timeout会话超时时间。客户端在构造 Zookeeper 实例时候向服务端发送配置的超时时间server 端会根据自己的超时时间限制最终确认会话的超时时间。
TickTime下次会话超时时间点默认 2000 毫秒。可在 zoo.cfg 配置文件中配置便于 server 端对 session 会话实行分桶策略管理。
isClosing该属性标记一个会话是否已经被关闭当 server 端检测到会话已经超时失效该会话标记为已关闭不再处理该会话的新请求。
Session 的状态
下面介绍几个重要的状态 connecting连接中session 一旦建立状态就是 connecting 状态时间很短。 connected已连接连接成功之后的状态。 closed已关闭发生在 session 过期一般由于网络故障客户端重连失败服务器宕机或者客户端主动断开。
会话超时管理分桶策略会话激活
zookeeper 的 leader 服务器再运行期间定时进行会话超时检查时间间隔是 ExpirationInterval单位是毫秒默认值是 tickTime每隔 tickTime 进行一次会话超时检查。 ExpirationTime 的计算方式:
ExpirationTime CurrentTime SessionTimeout;
ExpirationTime (ExpirationTime / ExpirationInterval 1) * ExpirationInterval;
在 zookeeper 运行过程中客户端会在会话超时过期范围内向服务器发送请求包括读和写或者 ping 请求俗称心跳检测完成会话激活从而来保持会话的有效性。
会话激活流程 激活后进行迁移会话的过程然后开始新一轮 希望你也学会了更多编程源码模板请来二当家的素材网https://www.erdangjiade.com