dubbo无法消费服务问题, 出现莫名的IP地址
在上个星期 , 整个星期中都深陷其中. 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封装到返回的对象中
最后做个总结:不管是外网内网,服务器只要保证连上并开放了端口,其他的均无关. 并且要仔细检查服务端是否是因为抛出了异常导致消费
者无法调用生产者服务
更多推荐
所有评论(0)