dubbo-本地直連


一、背景

     目前項目是基於dubbo做為rpc,zk為注冊中心實現多個微服務之間的遠程服務調用。但需要本地聯調dubbo接口時,需要繞過注冊中心,達到不干擾線上服務,即只訂閱不注冊服務的目的。

二、實現

1.修改服務提供者的配置文件:provider.xml

<dubbo:registry address="127.0.0.1:2181" register="false" />

或者

<dubbo:registry address="127.0.0.1:2181?register=false" />

register="false":禁用注冊配置

2.dubbo接口本地直連設置(切記:適用於開發測試階段,沒有特定需求,線上不要使用)

  • 第一種方式:通過 -D 參數指定

在 JVM 啟動參數中加入-D參數映射服務地址,如:

java -Dcom.example.modules.user.UserFacade=dubbo://localhost:20880
  • 第二種方式:在訂閱配置文件consumer.xml中指定url
<dubbo:reference id="userFacade" interface="com.example.modules.user.UserFacade" url="dubbo://localhost:20880" />

注意不要把代碼提交到服務器上。

  • 第三種方式:映射配置文件

(2.0 以上版本)自動加載 ${user.home}/dubbo-resolve.properties文件,項目中不需要配置。

在本機電腦用戶下新建文件dubbo-resolve.properties,然后在文件中加入需要直連的服務。

# 直連服務列表
com.example.modules.user.UserFacade=dubbo://localhost:20880

如果有多個,繼續添加即可,推薦使用此種方式,可以避免代碼提交,方便統一管理


免責聲明!

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



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