阿里云dubbo提供者Service启动时默认将方法注册到内网IP

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Jay_1989/article/details/74502895

一、现象

这个问题困扰了笔者很久,终于找到解决方案。
服务提供端代码:
<dubbo:registry address="zookeeper://120.25.252.145:2181"/>
但是服务消费端却无法访问。

二、原因

一般Dubbo服务都是通过内网调用,Dubbo服务启动时默认会将服务注册到内网IP,dubbo-admin也显示服务提供者为内网ip,消费端就无法从外网访问。


三、解决过程

1、Linux的hosts中设置外网IP
a) 通过hostname命令得到机器名
b) 通过vim /etc/hosts设置机器名对应的外网IP
127.0.0.1  localhost  localhost.localdomain
外网IP 主机名


2、然后依次重新启动以下内容
Zookeeper服务–>重启Dubbo服务生产者–>重启Dubbo服务消费者,既可以成功运行。

猜你喜欢

转载自blog.csdn.net/Jay_1989/article/details/74502895