不知道楼主有没有看过zookeeper.h的注释,解决session timeout的重连并没有必要起一个定时器来做。zk的client库会在丢失连接后不停尝试重连,成功重连后,如果已经超时,会触发一个ZOO_EXPIRED_SESSION_STATE的事件,捕获该事件以后就可以做重新建立session的操作。 我自己深知写git项目的不易,但是楼主这个写法难免会误导写zk的新人,建议修改。