4 直連提供者
4.0 概念
消費端知道服務提供者的位址,直接進行連接配接
限制了分布式的易擴充性
一般隻在測試環境中使用,繞過注冊中心,隻測試指定的服務提供者,這時候可能需要
點對點直連方式
以服務接口為機關,忽略注冊中心的提供者清單,A 接口配置點對點,不影響 B 接口從注冊中心擷取清單
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5CMmNmNllDNyM2NlVDMkZWO1UTM0MGZwATZ5EDNxYmNm9CX5d2bs92Yl1iclB3bsVmdlR2LcNWaw9CXt92Yu4GZjlGbh5yYjV3Lc9CX6MHc0RHaiojIsJye.png)
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用戶端依賴
添加zookeeper配置
6.2 再配置Consumer
修改消費服務類