记一次dubbo消费者注册失败找不到服务提供者问题

这篇具有很好参考价值的文章主要介绍了记一次dubbo消费者注册失败找不到服务提供者问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

项目分多套环境,其中一套环境重新部署时,频繁出现消费者找不到服务提供者的错误

Exception :org.apache.dubbo.rpc.RpcException: 
No provider available from registry xxx.xxx.xxx.xxx:2181 for service com.xxx.XxxService 
on consumer xxxip use dubbo version 2.7.10, please check status of providers(disabled, not registered or in blacklist).

经过多次重启后才有可能恢复正常,而其他环境并没有发现此问题

怀疑点:
1.消费者和服务提供者dubbo版本对不上
2.服务提供者没有注册上服务
3.注册中心有问题

逐一排查:
1.消费者和服务提供者dubbo版本对不上
经排查两个项目的pom依赖,dubbo版本是一致的

2.服务提供者有问题,服务不可用
telnet服务提供者,经检查服务是正常的
具体操作:
telnet ip dubbo服务端口,如telnet 127.0.0.1 20880, ls查看提供的服务,还可以invoke简直执行下调用

3.注册中心的问题
使用zkCli连接zookeeper,查看其上注册的dubbo服务,发现服务正常,但服务下的消费者是空的

zkCli.cmd -server ip

查看注册的dubbo服务
ls /dubbo

查看dubbo服务消费者
ls /dubbo/接口/consumers

目前问题指向消费者注册的有问题,导致拉取不到服务列表
于是检查消费者应用日志,启动过程未发现异常日志,包括连接zookeeper也没有问题,消费者也没有问题

再复盘下整个过程,消费者注册有问题,但不是每次都有问题,只是高频出现问题,问题还是出在zookeeper上,或许zookeeper版本和项目依赖的包版本冲突?检查下zk连接,发现消费者apollo中配置的zk地址有两种域名…

配置了多个zk地址,难道会导致注册出问题?服务提供的连接的是 zk1域名,消费者连接的是zk1域名+zk2域名,zk2为老域名,后续逐渐弃用了,连接zk2发现还能找到消费者,反倒是zk1上没有消费者。删除掉消费者应用配置中的zk2域名重启后就正常了

有个问题待后续确认:连接多个zk地址,不应该同时注册吗,此问题中消费者的问题现象显示只注册了其中一个zk文章来源地址https://www.toymoban.com/news/detail-417440.html

到了这里,关于记一次dubbo消费者注册失败找不到服务提供者问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包