dubbo-go
dubbo-go copied to clipboard
Consumer依然会调用已下线Provider的问题
Environment
- Server: Dubbo-go, v3.0.1
- Client: Dubbo-go, v3.0.1
- Registry: ZooKeeper
我们在线上发现了Consumer依然会调用已下线Provider的问题。
现象如下:B服务会调用A服务,A服务的A1实例下线后,B服务中的部分实例,如B2、B3依然会调用已下线的A1,B1则不会。
经过对dubbo的日志进行分析,发现实例B2、B3在([Registry Directory] selector delete service url)移除A1后,又进行了([Registry Directory] selector add service url)注册,而B1则不会。
Logs
#B1 正常,不会继续调用已下线的A1
#B2 异常,会继续调用已下线的A1
#B3 异常,会继续调用已下线的A1
@bobtthp Could you follow up on this issue?
同步下最新进展,我们现在暂时调整了服务部署的策略,避免部署时同时启动或者下掉多个pod,目前看效果很好,不会再出现上面这个问题。但是现在调整部署策略也只是临时方案。还是希望能定位到具体问题。
@bobtthp Could you follow up on this issue?
ok
同步下最新进展,我们现在暂时调整了服务部署的策略,避免部署时同时启动或者下掉多个pod,目前看效果很好,不会再出现上面这个问题。但是现在调整部署策略也只是临时方案。还是希望能定位到具体问题。
![]()
目前看下来,感觉逻辑是没有问题的,和用户沟通了下,可能场景在批量下线问题出现几率更大。 准备搞个 demo 测试一下,看是否可以复现