一、背景
一般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×tamp=1483683123337
三、參考文檔