dubbo多網卡時,服務提供者的錯誤IP注冊到注冊中心導致消費端連接不上


使用了虛擬機之后,啟動了dubbo服務提供者應用,又連了正式環境的注冊中心;

一旦dubbo獲取的ip錯誤后, 這種情況即使提供者服務停掉,目前dubbo沒有能力清除這類錯誤的提供者;

(需要修改源碼測試,需要客戶端重新更細包,因為清除動作client端,我司就是這么干的)

 規避方案:

  1. 線上最好直接把(連接注冊中心的)做ip限制,VPN撥上的IP過濾掉;
  2. 團隊人員行為控制;
  3. 撥VPN又需要調試dubbo提供者的應用時,指定DUBBO服務IP的主機綁定;

發現這種情況的解決方法:

  1. 到dubbo管理后台,禁用錯誤的服務提供者;

Dubbo主機IP綁定說明:

缺省主機IP查找順序:

  • 通過LocalHost.getLocalHost()獲取本機地址。
  • 如果是127.*等loopback地址,則掃描各網卡,獲取網卡IP。

注冊的地址如果獲取不正確,比如需要注冊公網地址,可以:
1. 可以在/etc/hosts中加入:機器名 公網IP,比如:

test1 205.182.23.201

 

2. 在dubbo.xml中加入主機地址的配置:

<dubbo:protocol host="http://10.20.160.198/wiki/display/dubbo/205.182.23.201">

 

3. 或在dubbo.properties中加入主機地址的配置:

dubbo.protocol.host=205.182.23.201


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM