1. 程式人生 > >阿里雲dubbo提供者Service啟動時預設將方法註冊到內網IP

阿里雲dubbo提供者Service啟動時預設將方法註冊到內網IP

一、現象

這個問題困擾了筆者很久,終於找到解決方案。
服務提供端程式碼:
<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服務消費者,既可以成功執行。