赞
踩
公司采用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的注册依赖,进而正确注册消费服务,此时正常。
上述皆为猜测,未曾验证....
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。