08_会话管理流程
2021-04-13 23:03:19 0 举报
zookeeper会话管理流程
作者其他创作
大纲/内容
标记isClosing = true
发起“会话关闭”请求
根据sessionID获取
根据老的超时时间定位其所在的区
获取上次超时时间ExpirationTime_Old
迁移会话
激活完成
删除临时节点
从SessionTracter中移除
FinalRequestProcessor处理器触发内存数据库,删除对应节点
将会话从老的区块迁移到ExpirationTime_New所在的新区块
移除会话
收集需要删除的临时节点
SessionTracter的一个单独线程
返回
放入事务变更队列outStandingChanges
剩下的这里面所有会话都是尚未激活的
检测到已过期的会话
Y
接收客户端心跳检测
会话激活条件:1、只要客户端向服务端发送请求2、客户端在sessionTime/3,时间内未和服务端通信,则会主动发起Ping请求
N
添加“节点删除”事务变更
关闭NIOServerCnxn
超时检测
交给PrepRequestProcessor处理器处理
计算该会话新的超时时间ExpirationTime_New
标记已关闭,不处理任何请求
检查会话是否已关闭
0 条评论
下一页