Spring cloud Zookeeper服务发现Znode在40秒后删除

Spring cloud Zookeeper服务发现Znode在40秒后删除,spring-cloud,apache-zookeeper,apache-curator,spring-cloud-zookeeper,Spring Cloud,Apache Zookeeper,Apache Curator,Spring Cloud Zookeeper,我有两个应用程序,其中service1使用service2,并将service2复制到3个实例中服务1使用spring cloud zookeeper discovery连接到服务2 应用程序按预期工作,直到我关闭了服务2的一个实例,服务实例的ZNode被删除了40秒,我看到协商会话超时是40秒,但是我创建了另一个实例服务3,它具有相同的上次协商会话超时40秒,但是服务3实例的ZNode在1-2s内被删除 下面是断开连接后的zookeeper服务器日志 2019-12-17 17:02:02,8

我有两个应用程序,其中
service1
使用
service2
,并将
service2
复制到3个实例中<代码>服务1使用
spring cloud zookeeper discovery连接到
服务2

应用程序按预期工作,直到我关闭了
服务2
的一个实例,服务实例的ZNode被删除了40秒,我看到协商会话超时是40秒,但是我创建了另一个实例
服务3
,它具有相同的上次协商会话超时40秒,但是
服务3
实例的ZNode在1-2s内被删除

下面是断开连接后的zookeeper服务器日志

2019-12-17 17:02:02,829 [myid:] - WARN  [NIOWorkerThread-5:NIOServerCnxn@370] - Exception causing close of session 0x10005eb831b0000: An existing connection was forcibly closed by the remote host
2019-12-17 17:02:02,830 [myid:] - DEBUG [NIOWorkerThread-5:NIOServerCnxn@373] - IOException stack trace
java.io.IOException: An existing connection was forcibly closed by the remote host
        at sun.nio.ch.SocketDispatcher.read0(Native Method)
        at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43)
        at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223)
        at sun.nio.ch.IOUtil.read(IOUtil.java:197)
        at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:380)
        at org.apache.zookeeper.server.NIOServerCnxn.doIO(NIOServerCnxn.java:321)
        at org.apache.zookeeper.server.NIOServerCnxnFactory$IOWorkRequest.doWork(NIOServerCnxnFactory.java:530)
        at org.apache.zookeeper.server.WorkerService$ScheduledWorkRequest.run(WorkerService.java:155)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)
2019-12-17 17:02:02,833 [myid:] - DEBUG [NIOWorkerThread-5:MBeanRegistry@127] - Unregister MBean [org.apache.ZooKeeperService:name0=StandaloneServer_port2181,name1=Connections,name2="0:0:0:0:0:0:0:1",name3=0x10005eb831b0000]
2019-12-17 17:02:02,834 [myid:] - DEBUG [NIOWorkerThread-5:NIOServerCnxn@627] - Closed socket connection for client /0:0:0:0:0:0:0:1:61987 which had sessionid 0x10005eb831b0000
2019-12-17 17:02:42,033 [myid:] - TRACE [SessionTracker:SessionTrackerImpl@213] - Session closing: 0x10005eb831b0000
2019-12-17 17:02:42,033 [myid:] - INFO  [SessionTracker:ZooKeeperServer@398] - Expiring session 0x10005eb831b0000, timeout of 40000ms exceeded
2019-12-17 17:02:42,036 [myid:] - TRACE [ProcessThread(sid:0 cport:2181)::ZooTrace@88] - :Psessionid:0x10005eb831b0000 type:closeSession cxid:0x0 zxid:0xfffffffffffffffe txntype:unknown reqpath:n/a
2019-12-17 17:02:42,045 [myid:] - TRACE [ProcessThread(sid:0 cport:2181)::SessionTrackerImpl@213] - Session closing: 0x10005eb831b0000
2019-12-17 17:02:42,055 [myid:] - DEBUG [SyncThread:0:FinalRequestProcessor@99] - Processing request:: sessionid:0x10005eb831b0000 type:closeSession cxid:0x0 zxid:0x2d txntype:-11 reqpath:n/a
2019-12-17 17:02:42,058 [myid:] - TRACE [SyncThread:0:ZooTrace@88] - :Esessionid:0x10005eb831b0000 type:closeSession cxid:0x0 zxid:0x2d txntype:-11 reqpath:n/a
2019-12-17 17:02:42,060 [myid:] - DEBUG [SyncThread:0:DataTree@1052] - Deleting ephemeral node /services/kp-services/0696aa59-918a-4b7c-b80c-a26aaed55e2f for session 0x10005eb831b0000
2019-12-17 17:02:42,068 [myid:] - DEBUG [SyncThread:0:DataTree@1052] - Deleting ephemeral node /kp/leader/cluster/_c_6d664f66-5eae-450f-b9e4-a1d0f3b7c8c3-lock-0000000000 for session 0x10005eb831b0000
2019-12-17 17:02:42,071 [myid:] - DEBUG [SyncThread:0:SessionTrackerImpl@223] - Removing session 0x10005eb831b0000
2019-12-17 17:02:42,082 [myid:] - TRACE [SyncThread:0:ZooTrace@71] - SessionTrackerImpl --- Removing session 0x10005eb831b0000
2019-12-17 17:02:50,175 [myid:] - DEBUG [Session-HouseKeeper-1f36e637:HouseKeeper@264] - node0 scavenging sessions
2019-12-17 17:02:50,177 [myid:] - DEBUG [Session-HouseKeeper-1f36e637:SessionHandler@1344] - org.eclipse.jetty.server.session.SessionHandler1529306539==dftMaxIdleSec=-1 scavenging sessions
2019-12-17 17:02:50,186 [myid:] - DEBUG [Session-HouseKeeper-1f36e637:SessionHandler@1352] - org.eclipse.jetty.server.session.SessionHandler1529306539==dftMaxIdleSec=-1 scavenging session ids []
2019-12-17 17:02:50,194 [myid:] - DEBUG [Session-HouseKeeper-1f36e637:AbstractSessionCache@647] - org.eclipse.jetty.server.session.DefaultSessionCache@185d8b6[evict=-1,removeUnloadable=false,saveOnCreate=false,saveOnInactiveEvict=false] checking expiration on []
2019-12-17 17:02:50,659 [myid:] - INFO  [ContainerManagerTask:ContainerManager@119] - Attempting to delete candidate container: /services/kp-services
2019-12-17 17:02:50,659 [myid:] - TRACE [ProcessThread(sid:0 cport:2181)::ZooTrace@88] - :Psessionid:0x0 type:deleteContainer cxid:0x0 zxid:0xfffffffffffffffe txntype:unknown reqpath:n/a
2019-12-17 17:02:50,666 [myid:] - INFO  [ContainerManagerTask:ContainerManager@119] - Attempting to delete candidate container: /kp/leader/cluster
2019-12-17 17:02:50,670 [myid:] - TRACE [ProcessThread(sid:0 cport:2181)::ZooTrace@88] - :Psessionid:0x0 type:deleteContainer cxid:0x0 zxid:0xfffffffffffffffe txntype:unknown reqpath:n/a
2019-12-17 17:02:50,671 [myid:] - DEBUG [SyncThread:0:FinalRequestProcessor@99] - Processing request:: sessionid:0x0 type:deleteContainer cxid:0x0 zxid:0x2e txntype:20 reqpath:n/a
2019-12-17 17:02:50,682 [myid:] - TRACE [SyncThread:0:ZooTrace@88] - :Esessionid:0x0 type:deleteContainer cxid:0x0 zxid:0x2e txntype:20 reqpath:n/a
2019-12-17 17:02:50,686 [myid:] - DEBUG [SyncThread:0:FinalRequestProcessor@99] - Processing request:: sessionid:0x0 type:deleteContainer cxid:0x0 zxid:0x2f txntype:20 reqpath:n/a
2019-12-17 17:02:50,696 [myid:] - TRACE [SyncThread:0:ZooTrace@88] - :Esessionid:0x0 type:deleteContainer cxid:0x0 zxid:0x2f txntype:20 reqpath:n/a
版本信息
动物园管理员:3.5.5
spring cloud zookeeper发现:2.0.1

馆长:4.2.0

这里没有足够的信息。你能提供某种测试或日志吗?@Randgalt告诉我什么样的信息?我也被困在同一个地方,从哪里开始调试,从过去的一周开始,我一直希望在zookeper/sock连接中可能有一些参数需要重置。@Randgalt添加了zookeeper服务器日志这是一个服务器日志,没有显示太多。需要断开连接的客户端的日志。另外,你说服务3的ZNode被删除了。服务3是否与ZooKeeper保持连接?如果是这样,那就没有意义了。无论如何,服务3的日志可能会有帮助。@Randgalt我想我明白了问题所在,当发生网络分区时,关闭会话需要40秒,但是当我优雅地关闭应用程序时,切换会在1-2秒内发生,你能确认吗?