W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
Nacos 是 Dubbo 生態(tài)系統(tǒng)中重要的注冊中心實現(xiàn),其中 ?dubbo-registry-nacos
? 則是 Dubbo 融合 Nacos 注冊中心的實現(xiàn)。
當您將 dubbo-registry-nacos 整合到您的 Dubbo 工程之前,請確保后臺已經(jīng)啟動 Nacos 服務。如果您尚且不熟悉 Nacos 的基本使用的話,可先行參考 Nacos 快速入門。建議使用 Nacos 1.0.0 及以上的版本。
Dubbo 融合 Nacos 成為注冊中心的操作步驟非常簡單,大致步驟可分為“增加 Maven 依賴”以及“配置注冊中心“。
首先,您需要將 dubbo-registry-nacos 的 Maven 依賴添加到您的項目 pom.xml 文件中,并且強烈地推薦您使用 Dubbo 2.6.5:
<dependencies>
...
<!-- Dubbo Nacos registry dependency -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>dubbo-registry-nacos</artifactId>
<version>0.0.2</version>
</dependency>
<!-- Keep latest Nacos client version -->
<dependency>
<groupId>com.alibaba.nacos</groupId>
<artifactId>nacos-client</artifactId>
<version>[0.6.1,)</version>
</dependency>
<!-- Dubbo dependency -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>dubbo</artifactId>
<version>2.6.5</version>
</dependency>
<!-- Alibaba Spring Context extension -->
<dependency>
<groupId>com.alibaba.spring</groupId>
<artifactId>spring-context-support</artifactId>
<version>1.0.2</version>
</dependency>
...
</dependencies>
當項目中添加 dubbo-registry-nacos 后,您無需顯式地編程實現(xiàn)服務發(fā)現(xiàn)和注冊邏輯,實際實現(xiàn)由該三方包提供,接下來配置 Naocs 注冊中心。
假設您 Dubbo 應用使用 Spring Framework 裝配,將有兩種配置方法可選,分別為:Dubbo Spring 外部化配置以及 Spring XML 配置文件,推薦前者。
參考
Dubbo Spring 外部化配置是由 Dubbo 2.5.8 引入的新特性,可通過 Spring Environment 屬性自動地生成并綁定 Dubbo 配置 Bean,實現(xiàn)配置簡化,并且降低微服務開發(fā)門檻。
假設您的 Nacos Server 同樣運行在服務器 10.20.153.10 上,并使用默認 Nacos 服務端口 8848,您只需將 dubbo.registry.address 屬性調(diào)整如下:
## 其他屬性保持不變
## Nacos registry address
dubbo.registry.address = nacos://10.20.153.10:8848
...
隨后,重啟您的 Dubbo 應用,Dubbo 的服務提供和消費信息在 Nacos 控制臺中可以顯示:
如圖所示,服務名前綴為 providers: 的信息為服務提供者的元信息,consumers: 則代表服務消費者的元信息。點擊“詳情”可查看服務狀態(tài)詳情:
如果您正在使用 Spring XML 配置文件裝配 Dubbo 注冊中心的話,請參考下一節(jié)。
與 Dubbo Spring 外部化配置 配置類似,只需要調(diào)整 address 屬性配置即可:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:dubbo="http://dubbo.apache.org/schema/dubbo"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd http://dubbo.apache.org/schema/dubbo http://dubbo.apache.org/schema/dubbo/dubbo.xsd">
<!-- 提供方應用信息,用于計算依賴關系 -->
<dubbo:application name="dubbo-provider-xml-demo" />
<!-- 使用 Nacos 注冊中心 -->
<dubbo:registry address="nacos://10.20.153.10:8848" />
...
</beans>
重啟 Dubbo 應用后,您同樣也能發(fā)現(xiàn)服務提供方和消費方的注冊元信息呈現(xiàn)在 Nacos 控制臺中:
附加信息: 在nacos-server@1.0.0版本后,支持客戶端通過上報一些包含特定的元數(shù)據(jù)的實例到服務端來控制實例的一些行為。
例如:
preserved.heart.beat.timeout : 該實例在不發(fā)送心跳后,從健康到不健康的時間。(單位:毫秒)
preserved.ip.delete.timeout : 該實例在不發(fā)送心跳后,被服務端下掉該實例的時間。(單位:毫秒)
preserved.heart.beat.interval : 該實例在客戶端上報心跳的間隔時間。(單位:毫秒)
preserved.instance.id.generator: 該實例的id生成策略,值為snowflake時,從0開始增加。
preserved.register.source : 保留鍵,目前未使用。
該功能將在Dubbo@2.7.10開始支持,通過在address中增加參數(shù)來進行配置. 例如: nacos://10.20.153.10:8848?preserved.heart.beat.timeout=15000&preserved.ip.delete.timeout=30000&preserved.heart.beat.interval=10000
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: