zookeeper超时--minSessionTimeout与maxSessionTimeout
??? 很多同学可能有这样的疑问,我明明把连接zk客户端的超时时间sessionTimeout设置为180秒了,可是为什么仅仅过了40几秒就超时了?
??? 其实只这么设置,根本没有任何作用,因为客户端将sessionTimeout的值传给zk时,zk还会根据minSessionTimeout与maxSessionTimeout两个参数重新调整最后的超时值
int minSessionTimeout = zk.getMinSessionTimeout(); if (sessionTimeout < minSessionTimeout) { sessionTimeout = minSessionTimeout; } int maxSessionTimeout = zk.getMaxSessionTimeout(); if (sessionTimeout > maxSessionTimeout) { sessionTimeout = maxSessionTimeout; }
?
?就是这么简单,至于之前说40s超时,那肯定是把tickTime设置成2s了,很多人都这么干。
?