Dubbo_异常_Service启动时默认将方法注册到内网IP


一、背景
一般Dubbo服务都是通过内网调用,Dubbo服务启动时默认会将服务注册到内网IP,消费端就无法从外网访问。

二、解决过程
1、Linux的hosts中设置外网IP
a) 通过hostname命令得到机器名
b) 通过vim /etc/hosts设置机器名对应的外网IP
127.0.0.1  localhost  localhost.localdomain
外网IP VM_31_182_centos
(这里 VM_31_182_centos为主机名,默认在第一行,需要移到第二行外网IP后面)

2、ZooKeeper中providers的值,显示的是外网IP
dubbo://外网IP:20880/org.gossip.dub.facade.ISysAdminInfoService?anyhost=true&application=gossip.dub.service&dispatcher=all&dubbo=2.5.3&interface=org.gossip.dub.facade.ISysAdminInfoService&methods=queryById,insertSelective,delete,queryAll,updateByPrimaryKey,insert,updateByPrimaryKeySelective&pid=22387&retries=0&revision=1.0-SNAPSHOT&side=provider&threadpool=fixed&threads=100&timestamp=1483683123337

三、参考文档
http://blog.csdn.net/u012371450/article/details/52117853

你可能感兴趣的:(Dubbo_异常_Service启动时默认将方法注册到内网IP)