zookeeper会为每个客户端分配一个session,类似于web服务器一样,用来标识客户端的身份。
session的作用:
客户端标识
超时检查
请求的顺序执行
维护临时节点的生命周期
watcher通知
session的状态:
CONNECTING
CONNECTED
RECONNECTING
RECONNECTED
CLOSED
session的属性:
SessionID:会话ID,全局唯一
TimeOut:会话超时时间
TickTime:下次会话超时时间点
isClosing:会话是否已经被关闭
sessionID的构成:
高8位代表创建Session时所在的zk节点的id
中间40位代表zk节点当前角色在创建的时候的时间戳
低16位是一个计数器,初始值为0