dubbo注册时会通过主机名寻找ip,会将内网ip注册到zookeeper
如果我们调用外网服务器server的话是找不到的
会报如下错误
[DUBBO] client reconnect to 127.0.0.1:20880 find error . url: dubbo://127.0.0.1:20880/xxxxxxxxxx
解决方案:修改host,将主机名放到外网ip后
从Dubbo Admin可以看到注册的服务ip已经是外网ip
可以调用到外网接口, 完美解决
实例配置:
[root@bank ~]# cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 47.11****.216 bank