天天看點

Dubbo實戰(二) - 環境搭建(下)4 直連提供者5 啟動ZooKeeper6 SpringBoot配置注冊中心參考

4 直連提供者

4.0 概念

消費端知道服務提供者的位址,直接進行連接配接

限制了分布式的易擴充性

一般隻在測試環境中使用,繞過注冊中心,隻測試指定的服務提供者,這時候可能需要

點對點直連方式

以服務接口為機關,忽略注冊中心的提供者清單,A 接口配置點對點,不影響 B 接口從注冊中心擷取清單

Dubbo實戰(二) - 環境搭建(下)4 直連提供者5 啟動ZooKeeper6 SpringBoot配置注冊中心參考

4.1 通過 XML 配置

如果是線上需求需要點對點,可在

<dubbo:reference>

中配置 url 指向提供者,将繞過注冊中心,多個位址用分号隔開,配置如下(≥1.0.6 版本)

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

4.2 通過 -D 參數指定

在 JVM 啟動參數中加入-D參數映射服務位址

key 為服務名,value 為服務提供者 url,此配置優先級最高,1.0.15 及以上版本支援

java -Dcom.alibaba.xxx.XxxService=dubbo://localhost:20890
      

4.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      

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

5 啟動ZooKeeper

6 SpringBoot配置注冊中心

修改配置檔案,現在有注冊中心了,不再是直連模式!

6.1 再配置Provider

  • 添加zookeeper用戶端依賴
Dubbo實戰(二) - 環境搭建(下)4 直連提供者5 啟動ZooKeeper6 SpringBoot配置注冊中心參考

添加zookeeper配置

Dubbo實戰(二) - 環境搭建(下)4 直連提供者5 啟動ZooKeeper6 SpringBoot配置注冊中心參考

6.2 再配置Consumer

Dubbo實戰(二) - 環境搭建(下)4 直連提供者5 啟動ZooKeeper6 SpringBoot配置注冊中心參考
Dubbo實戰(二) - 環境搭建(下)4 直連提供者5 啟動ZooKeeper6 SpringBoot配置注冊中心參考

修改消費服務類

Dubbo實戰(二) - 環境搭建(下)4 直連提供者5 啟動ZooKeeper6 SpringBoot配置注冊中心參考

參考

Dubbo官方文檔