Dubbo 學習筆記(五) 開發環境常用技巧
直連提供者
在開發及測試環境下,經常需要繞過註冊中心,只測試指定服務提供者,這時候可能需要點對點直連,點對點直聯方式,將以服務介面為單位,忽略註冊中心的提供者列表,A 介面配置點對點,不影響 B 介面從註冊中心獲取列表。
1. 通過 XML 配置
如果是線上需求需要點對點,呼叫方配置 url 指向提供者,將繞過註冊中心,多個地址用分號隔開,配置如下 :
生產中正常的配置是不會有URL的
<dubbo:reference id="xxxService" interface="com.alibaba.xxx.XxxService" url="dubbo://localhost:20890" />
2.通過 -D 引數指定
在 JVM 啟動引數中加入-D引數對映服務地址 ,如:
java -Dcom.alibaba.xxx.XxxService=dubbo://localhost:20890
等號 前是服務介面, 後是直連的地址.
3.通過檔案對映
如果服務比較多,也可以用檔案對映,用 -Ddubbo.resolve.file 指定對映檔案路徑,此配置優先順序高於 xml 中的配置 ,如:
啟動引數制定對映檔案
java -Ddubbo.resolve.file=xxx.properties
然後在對映檔案 xxx.properties 中加入配置,其中 key 為服務名,value 為服務提供者 URL,檔案內容為:
com.alibaba.xxx.XxxService=dubbo://localhost:20890
只訂閱
為方便開發測試,經常會線上下共用一個所有服務可用的註冊中心,這時,如果一個正在開發中的服務提供者註冊,可能會影響消費者不能正常執行。
可以讓服務提供者開發方,只訂閱服務(開發的服務可能依賴其它服務),而不註冊正在開發的服務,通過直連測試正在開發的服務。
<dubbo:registry address="10.20.153.10:9090" register="false" />
這樣就只是訂閱註冊中心的服務,但是不會去註冊中心註冊服務,避免了服務修改在未完成時,修改了註冊中心的服務, 引起其他呼叫方不正常.
只註冊
如果有兩個映象環境,兩個註冊中心,有一個服務只在其中一個註冊中心有部署,另一個註冊中心還沒來得及部署,而兩個註冊中心的其它應用都需要依賴此服務。這個時候,可以讓服務提供者方只註冊服務到另一註冊中心,而不從另一註冊中心訂閱服務。
禁用訂閱配置
<dubbo:registry id="hzRegistry" address="10.20.153.10:9090" />
<dubbo:registry id="qdRegistry" address="10.20.141.150:9090" subscribe="false" />
或者
<dubbo:registry id="hzRegistry" address="10.20.153.10:9090" />
<dubbo:registry id="qdRegistry" address="10.20.141.150:9090?subscribe=false" />
靜態服務
有時候希望人工管理服務提供者的上線和下線,此時需將註冊中心標識為非動態管理模式。
<dubbo:registry address="10.20.141.150:9090" dynamic="false" />
或者
<dubbo:registry address="10.20.141.150:9090?dynamic=false" />
服務提供者初次註冊時為禁用狀態,需人工啟用。斷線時,將不會被自動刪除,需人工禁用。
相關文章
- dubbo學習筆記---dubbo開發實戰筆記
- laravel學習筆記之開發環境搭建Laravel筆記開發環境
- tensorflow學習筆記1——mac開發環境配置筆記Mac開發環境
- Dubbo | Dubbo快速上手筆記 - 環境與配置筆記
- L01 學習筆記--開發環境佈置筆記開發環境
- webpack學習筆記:搭建基本的前端開發環境Web筆記前端開發環境
- php 學習筆記之搭建開發環境(mac版)PHP筆記開發環境Mac
- Webpack4 學習筆記八 開發環境和生產環境配置Web筆記開發環境
- <Laravel 開發環境部署>讀書筆記----常用指令Laravel開發環境筆記
- Dubbo學習筆記筆記
- Dubbo 學習筆記筆記
- webpack學習筆記(mac環境)Web筆記Mac
- 學習筆記:MQTT環境搭建筆記MQQT
- Android環境搭建學習筆記Android筆記
- Python筆記 開發環境搭建Python筆記開發環境
- Laravel 開發環境搭建-筆記Laravel開發環境筆記
- kubernetes學習筆記 (一):搭建本地k8s開發環境筆記K8S開發環境
- Xamarin 學習筆記 - 配置環境(Windows & iOS)筆記WindowsiOS
- 【Python學習筆記】-虛擬環境virtualenvPython筆記
- Docker 學習筆記(第七集:使用 docker 搭建 php 開發環境)Docker筆記PHP開發環境
- Java開發環境安裝筆記Java開發環境筆記
- Wireshark學習筆記(一)常用功能案例和技巧筆記
- Dockerfile 與 Compose 環境搭建學習筆記(二)Docker筆記
- Dockerfile 與 Compose 環境搭建學習筆記(一)Docker筆記
- [學習筆記]使用 Anaconda 管理虛擬環境筆記
- 學習筆記:openstack實驗環境安裝筆記
- 筆記-Flutter開發環境搭建Mac版筆記Flutter開發環境Mac
- Dubbo學習筆記(一) 入門筆記
- Spring boot + Zookeeper + Dubbo學習筆記Springboot筆記
- 【機器學習】深度學習開發環境搭建機器學習深度學習開發環境
- Flutter學習指南:開發環境搭建Flutter開發環境
- JAVA學習——JDK開發環境配置JavaJDK開發環境
- 學習筆記-kali中配置python編寫環境筆記Python
- cmake學習筆記(五)筆記
- JVM 學習筆記(五)JVM筆記
- JAVA基礎學習筆記 一 計算機基礎、JAVA開發環境、開發注意事項Java筆記計算機開發環境
- Docker 學習筆記(第八集:使用 docker-compose 搭建 php 開發環境 )Docker筆記PHP開發環境
- Android 開發學習筆記Android筆記