【ZooKeeper】会话清理

本文详细介绍了ZooKeeper中会话超时清理的过程,涉及SessionExpirer接口和ZooKeeperServer实现类。会话清理主要通过expire()方法完成,包括关闭会话、删除临时节点和从SessionTracker中移除会话。在并发环境下,处理会话清理时可能遇到的数据不一致问题,通过特定策略避免了重复操作。
摘要由CSDN通过智能技术生成

接会话机制一文中的会话超时检查

在会话机制一文中,我们对会话的超时检查机制进行了简单的说明。主要包括:

  • 谁负责进行超时检查
  • 超时检查的策略是什么

最后在超时检查的”会话清理“过程没有详细的说明,那么本文将对这一过程进行详细的说明。

涉及到的类

  • SessionTracker.SessionExpirer,一个接口类
  • SessionTrackerImpl中的变量:private final SessionExpirer expirer
  • ZooKeeperServer,是SessionExpirer的实现类

会话清理过程

会话清理的工作主要是由实现类ZooKeeperServer中的expire(Session session)方法来完成的。代码如下:

public void expire(Session session) {
    long sessionId = session.getSessionId();
    close(sessionId);
}

可以看出整个会话清理的过程由close方法负责执行,该方法的代码为:


                
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值