在上个星期 , 整个星期中都深陷其中. dubbo出现无法调用服务者的情况. 在dubbo-admin监测站上通过查看IP为192.168.119.1


如上图所示, 但是Linux 公网IP 为192.168.225.129 在经过网上查找问题后, 发现比较多的是说Linux的内网IP问题, 在我将几乎

所有答案都试了一遍后, 几近奔溃 大哭,仍然无果.

 在几乎放弃之际,在一篇博客下看到一个回答


 此时醍醐灌顶, 因为我之前是使用的其他电脑, 正在使用的是新的电脑,并且项目也是新的. 总是以为是linux中出现了问题,在dubbo-admin

中出现的莫名IP更是把我迷惑了, 一直苦苦寻找无果. 在次怀着希望启动tomcat , 仔细确认每个细节. 有趣的事情来了


 大家可以看到, 出现此BUG其实就是dubbo消费者无法消费的原因.当抛出此bug时,前台显示为


 之前看到这个异常提示时, 看到192.168.119.1这个IP地址并不是公网IP , 导致误导我一直以为是由于内网IP导致的.

  现在我们再调试一下看得更详细一些


 此时可以看到消费者拿到的consumerUrl IP为192.168.119.1

我们再看一下dobbo-admin中显示的服务端IP


 从上面服务生产者对象 可以看到消费者拿到的url与生产者是IP一致的 , 那么上面的评论截图观点就成立了. 那么我们

再注意一些细节, 就是其中的属性url . url是我们服务消费者的真实地址. 所以我们推导出 . zookeeper并不会将真正的

服务生产者IP给消费者. 而是将IP封装到返回的对象中

  最后做个总结:不管是外网内网,服务器只要保证连上并开放了端口,其他的均无关. 并且要仔细检查服务端是否是因为抛出了异常导致消费

者无法调用生产者服务

GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:1 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐