1. 程式人生 > >Dubbo剖析-服務直連

Dubbo剖析-服務直連

一、前言

為了方便開發及測試,一般需要繞過註冊中心,只測試指定ip的服務提供者,這時候服務消費方和服務提供方就是點對點直聯方式。這時候服務消費方會忽略註冊中心的提供者列表。另外直連方式以服務介面為單位,假如A 介面配置點對點,不影響 B 介面從註冊中心獲取列表。

二、直連方法

  • 通過-D引數指定
    在服務消費程序啟動時候 JVM 啟動引數中加入-D引數對映服務地址 ,如:
    -Dcom.test.UserServiceBo=dubbo://30.8.59.182:20880;則標示當呼叫com.test.UserServiceBo介面時候訪問30.8.59.182:20880提供的服務,忽略zk發現列表。
  • 通過 XML 配置
    如果是XML方式點對點,可在 <dubbo:reference> 中配置 url 指向提供者,將繞過註冊中
    心,多個地址用分號隔開,配置如下:
    <dubbo:reference id=”userService” interface=”com.test.UserServiceBo” group=”dubbo” version=”1.0.0″ timeout=”3000″ url=”dubbo://30.8.59.182:20880″/>
  • 通過檔案對映
    如果服務比較多,也可以用檔案對映,用 -Ddubbo.resolve.file 指定對映檔案路徑,此配置優先順序高於 <dubbo:reference> 中的配置 ,如:
    java -Ddubbo.resolve.file=xxx.properties
    然後在對映檔案 xxx.properties 中加入配置,其中 key 為服務名,value 為服務提供者
    URL:
    com.test.UserServiceBo=dubbo://30.8.59.182:20880

注:為了避免複雜化線上環境,不要在線上使用這個功能,只應在測試階段使用。

歡迎大家加入知識星球,在知識星球裡面我們會深入討論Java併發程式設計,以及JUC包原始碼;Java類載入器原理;Spring,Springboot,Tomcat,Dubbo等開源框架的使用以及原始碼剖析;分享作者從畢業到現在一路走來的學習經驗,如何高效學習,如何閱讀原始碼;討論職業面試時候會經常遇到的問題以及如何作答,讀者可以識別下面二維碼加入:

讀者可以識別下面二維碼加入:


加多

加多

高階 Java 攻城獅 at 阿里巴巴加多,目前就職於阿里巴巴,熱衷併發程式設計、ClassLoader,Spring等開源框架,分散式RPC框架dubbo,springcloud等;愛好音樂,運動。微信公眾號:技術原始積累。知識星球賬號:技術原始積累