Dubbo開發直連調試

直連提供者

在開發及測試環境下,經常需要繞過註冊中心,只測試指定服務提供者,這時候可能需要點對點直連,
點對點直聯方式,將以服務接口爲單位,忽略註冊中心的提供者列表,
A接口配置點對點,不影響B接口從註冊中心獲取列表。

(1) 如果是線上需求需要點對點,可在<dubbo:reference>中配置url指向提供者,將繞過註冊中心,多個地址用分號隔開,配置如下:(1.0.6及以上版本支持)

<dubbo:reference id="xxxService"interface="com.alibaba.xxx.XxxService"url="dubbo://localhost:20890"/>

(2) 在JVM啓動參數中加入-D參數映射服務地址,如:
(key爲服務名,value爲服務提供者url,此配置優先級最高,1.0.15及以上版本支持)

java -Dcom.alibaba.xxx.XxxService=dubbo://localhost:20890
注意
爲了避免複雜化線上環境,不要在線上使用這個功能,只應在測試階段使用。

(3) 如果服務比較多,也可以用文件映射,如:
(用-Ddubbo.resolve.file指定映射文件路徑,此配置優先級高於<dubbo:reference>中的配置,1.0.15及以上版本支持)
(2.0以上版本自動加載${user.home}/dubbo-resolve.properties文件,不需要配置)

java -Ddubbo.resolve.file=xxx.properties

然後在映射文件xxx.properties中加入:
(key爲服務名,value爲服務提供者url)

com.alibaba.xxx.XxxService=dubbo://localhost:20890
注意
爲了避免複雜化線上環境,不要在線上使用這個功能,只應在測試階段使用。
在生產環境使用情況是,服務消費端只消費指定Provider提供者的服務

開發調試
我們啓動遠程服務提供者

我啓動web-boss,這裏調用是遠程提供者服務

查看user-service,provider方的配置

配置consumer方調用本地dubbo服務,進行直連調試
<dubbo:reference interface="edu.facade.user.service.PmsUserFacade" id="pmsUserFacade"  timeout="2000" check="false"url="dubbo://localhost:20880"/>
我們啓動本地 dubbo服務,以debug模式啓動

在dubbo管理控制檯查看dubbo服務

啓動消費端,web-boss我們進行直連調試
consumer控制檯信息

我們再訪問登錄,會發現已調用本地dubbo模式,進入debug調試模式

我們在Dubbo管理控制檯把provider禁用,發現也是調用本地dubbo服務,繞過了註冊中心,這就是直連提供者

我們在${user.home}下配置直接提供者屬性也是可以的(推薦使用)
dubbo-resolve.properties
內容 :
edu.facade.user.service.PmsUserFacade=dubbo://localhost:20880
注意點

1、 直連提供者只需要在消費端設置 

2 ${user.home}指的是當前操作系統用戶目錄 Win7系統 Administrator的用戶目錄就是 C:\Users\Administrator



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章