项目中dubbo同时引入nacos zookeeper依赖遇到消费端调用生产者失败问题

本文记录了一次从Zookeeper迁移到Nacos作为Dubbo注册中心过程中遇到的问题。在完成迁移后,发现某个模块(kcd)调用服务时出现异常,但其他模块调用正常。经过排查,问题在于kcd模块中遗留的Zookeeper依赖导致的冲突。删除Zookeeper依赖后,问题得到解决。文章探讨了可能的故障原因,并提出了解决方案。
摘要由CSDN通过智能技术生成

问题描述

公司采用dubbo作为分布式治理框架,最初采用zookeeper作为注册中心,后来架构变更,改为使用nacos作为注册中心,迁移完成后遇到同事z负责的kcd模块作为消费端调用我的服务失败的情况,经过验证其它的模块同样方式调用我的模块正常,kcd调用其他rpc也出现同样问题。双方服务重启后,偶见正常。

问题排查

依赖包按照统一要求修改过,配置文件除了注册地址从zookeeper改为nacos外没有修改过其他位置,问题可能是依赖包、注册地址两种原因。

问题分析

编译正常,依赖没有问题;
重启服务偶见正常,说明注册地址没有问题;
现在问题卡在了如何找到时而正常时而出错上,后来我将kcd模块代码down到本地,用IDEA打开改项目,加载项目时我习惯性的打开pom文件看,依赖的第一个位置,有个刺眼的zookeeper依赖。
大胆猜测是因为zookeeper依赖与nacos注册依赖冲突,导致注册偶发性的注册到不同的中心,进而出现此现象。

问题解决

将zookeeper依赖删除,问题解决

疑问:为什么会出现同时引入两个注册中心的依赖会出现时灵时不灵的问题?
猜测:
1.编译启动时按照顺序加载zookeeper的注册依赖,但是由于配置是nacos的配置导致zookeeper识别失败导致注册不上或者是注册到zookeeper上去了,但由于其他模块不往zookeeper注册服务,因此调用不到
2.编译启动时正确加载了nacos的注册依赖,进而正确注册消费服务,此时正常。
上述皆为猜测,未曾验证....
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值