Curator的四个超时时间配置

本文介绍了Curator框架在与Zookeeper交互时的四个关键超时时间配置:sessionTimeoutMs、connectionTimeoutMs、waitForShutdownTimeoutMs和maxCloseWaitMs。sessionTimeoutMs决定了会话超时时间,而connectionTimeoutMs是客户端连接Zookeeper的超时时间。waitForShutdownTimeoutMs用于ZooKeeper.close()时等待关闭的时间,maxCloseWaitMs则是在Curator退出时等待线程池关闭的时间。这些配置对于理解和优化Curator与Zookeeper的交互性能至关重要。
摘要由CSDN通过智能技术生成

curator 4.2.0
zk 3.4.14

sessionTimeoutMs

  1. 等同于zk原生client的会话超时时间。
  2. 与zk服务端协商后获得最终值(2~20个ticktime范围内),curator默认传60s。
  3. 心跳间隔或连接断开时间超出该值,客户端、服务端一旦检测到都会主动失效会话。
  4. 原生客户端readTimeout默认为 2/3个sessionTimeout,连接超时sessionTimeout / 配置的zk节点数。
    前者当读数据间隔超过这个时间抛出sessionTimeout(为什么2/3就抛了?看后面),后者是连接的时候好理解:
    在这里插入图片描述
    在这里插入图片描述
  5. 心跳是最长1/3 sessionTimout时间就会发出一个,或者发送间隔达到10s。所以:
    a. 任何对zk的请求都会刷新心跳
    b. 静默下一个sessionTimeout内三次心跳
    c. 结合4中readTimeout,上次心跳后,到第二次心跳最长是 1/3 sessionTimout,发出后,在等2/3 sessionTimeout服务端没返回,则正好走完一个超时周期,抛出session超时,所以上面是 2/3(代码中写 1-2/3更容易理解)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值