Closed cool-colo closed 1 year ago
不会是这里导致的。两个节点即使不是同时下线,它们的先后顺序也不会道中你说的那个问题。 服务端下线后,客户端是不会立马感知到服务端下线的,因为服务端告诉etcd, client监控到etcd的日志都是需要的时间的,可可能有秒级的延迟。
如果你的服务区下线是没有主动调用Unregister, 那么etcd感知到服务端下线是分钟级的。
另外,如果你还是怀疑有问题的话,你可以在for循环之上把pair
打印出来,看看客户端是否收到了服务端下线的通知,这个时间点和客户端调用的时间先后顺序
这段代码会不会导致老的pairs覆盖新的pairs?
目前线上存上2个弹性节点,每天定时下线, 每周都会出现弹性节点下线后,客户端还在请求的情况, 需要重启客户端服务才行。 zk里面确定已经不存在下线节点了 猜测可能是上面代码引起的问题。 也可能不是这的问题,还请作者看一下。