承接上文
通過之前的【Dubbo3終極特性】「雲原生三中心架構」帶你探索 Dubbo3 體系下的配置中心和元數據中心、註冊中心的原理及開發實戰(上),讓我們對Dubbo3的三中心架構體系有了一定的認識和了解。
Dubbo3的三中心部署架構
回顧一下部署架構(註冊中心、配置中心、元數據中心),瞭解Dubbo3的三大中心化組件,它們各自的職責、工作方式。
微服務框架,Dubbo SDK跟隨着微服務組件被部署在分佈式集羣各個位置,爲了在分佈式環境下實現各個微服務組件間的協作。
Dubbo定義了一些中心化組件
- 註冊中心:協調 Consumer 與 Provider 之間的地址註冊與發現
- 配置中心:
- 存儲Dubbo3啓動階段的全局配置,保證配置的跨環境共享與全局一致性。
- 負責服務治理規則(路由規則、動態配置等)的存儲與推送。
- 元數據中心:
- 接收Provider上報的服務接口元數據,爲Admin等控制檯提供運維能力(如:服務測試、接口文檔等)。
- 服務發現機制的補充,提供額外的接口/方法級別配置信息的同步能力,相當於註冊中心的額外擴展。
上圖完整的描述了Dubbo3微服務組件與各個中心的交互過程。
使用Nacos服務建立三中心體系
開展我們啓動Nacos服務的搭建過程,此部分我們可以參考之前的文章:【深入淺出 Dubbo3 原理及實戰】「SpringCloud-Alibaba 系列」基於 Nacos 作爲註冊中心進行發佈 SpringCloud-alibaba 生態的 RPC 接口實戰,進行部署對應的Nacos即可。
Nacos對接Dubbo的註冊中心、配置中心和元數據中心
接下來我們需要針對於Nacos如何配置和對接我們的三中心體系進行相關的介紹和分析。Dubbo的註冊中心、配置中心和元數據中心
Nacos如何對接Dubbo3的配置中心和元數據中心
針對於Nacos對接註冊中心的方案之前我們已經對接過了,在這裏我們就不過多的贅述,我們目前主要針對於配置中心以及元數據中心進行分析如何開發。
元數據中心
首先我們需要針對於SpringBoot的項目的配置進行配置添加dubbo3的配置,進行配置maven依賴。
zookeeper的元數據中心的配置(3.0.7的dubbo版本)
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-metadata-report-zookeeper</artifactId>
<version>3.0.7</version>
</dependency>
redis的元數據中心的配置(3.0.7的dubbo版本)
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-metadata-report-redis</artifactId>
</dependency>
nacos的元數據中心的配置(3.0.7的dubbo版本)
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-metadata-report-nacos</artifactId>
</dependency>
在這裏我們選擇的是nacos的配置,之後進行配置選擇,針對於application.properties文件的配置如下:
元數據中心的applicaion.properties配置
dubbo.metadata-report.address=nacos://${nacos.address:127.0.0.1}:8848?username=nacos&password=nacos
dubbo.metadata-report.retry-times=5
dubbo.metadata-report.retry-period=5000
dubbo.metadata-report.cycle-report=false
對應的常用配置:
-
dubbo.metadata-report.address:元數據中心的地址,此時可以配置nacos的地址,nacos的地址爲 nacos://ip:8848,代表dubbo會把nacos作爲元數據中心,進行上報對應的接口信息和應用名稱關係等。
-
dubbo.metadata-report.retry-times: 元數據中心的地址,如果上報數據之後,出現了失敗場景,會進行重試的次數,我們可以配置5次。,默認100
-
dubbo.metadata-report.retry-period: 重試執行的間隔時間,單位爲毫秒,重試周期,默認3000ms。
-
dubbo.metadata-report.cycle-report: 定時刷新,默認開啓(true),可以通過設置cycleReport=false進行關閉。
即可完成元數據中心的對應的Dubbo3的對接配置。
配置中心
相比配置中心不支持redis,所以我們主要採用nacos去實現配置中心的掛載對接。
nacos的配置中心的配置(3.0.7的dubbo版本)
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-configcenter-nacos</artifactId>
<version>3.0.7</version>
</dependency>
zookeeper的配置中心的配置(3.0.7的dubbo版本)
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-configcenter-zookeeper</artifactId>
<version>3.0.7</version>
</dependency>
配置中心的applicaion.properties配置
zookeeper的配置
dubbo.config-center.address=zookeeper://${config-center.address:127.0.0.1}:2181
nacos的配置
dubbo.config-center.address=nacos://${nacos.address:127.0.0.1}:8848?username=nacos&password=nacos
即可完成對應的配置中心的配置機制。
最後配置中心和元數據中心對接Nacos內部的配置分析,大家可以嘗試配置一下看看對應的效果即可。下一篇文章會給大家展示效果。