【Dubbo3 終極特性】「云原生三中心架構(gòu)」帶你探索 Dubbo3 體系下的配置中心和元數(shù)據(jù)中心、注冊中心的原理及開發(fā)實(shí)戰(zhàn)(中)

承接上文

通過之前的【Dubbo3終極特性】「云原生三中心架構(gòu)」帶你探索 Dubbo3 體系下的配置中心和元數(shù)據(jù)中心、注冊中心的原理及開發(fā)實(shí)戰(zhàn)(上),讓我們對Dubbo3的三中心架構(gòu)體系有了一定的認(rèn)識和了解。

Dubbo3的三中心部署架構(gòu)

回顧一下部署架構(gòu)(注冊中心、配置中心、元數(shù)據(jù)中心),了解Dubbo3的三大中心化組件,它們各自的職責(zé)、工作方式。

微服務(wù)框架,Dubbo SDK跟隨著微服務(wù)組件被部署在分布式集群各個位置,為了在分布式環(huán)境下實(shí)現(xiàn)各個微服務(wù)組件間的協(xié)作。

Dubbo定義了一些中心化組件

  • 注冊中心:協(xié)調(diào) Consumer 與 Provider 之間的地址注冊與發(fā)現(xiàn)
  • 配置中心:
    • 存儲Dubbo3啟動階段的全局配置,保證配置的跨環(huán)境共享與全局一致性。
    • 負(fù)責(zé)服務(wù)治理規(guī)則(路由規(guī)則、動態(tài)配置等)的存儲與推送。
  • 元數(shù)據(jù)中心:
    • 接收Provider上報的服務(wù)接口元數(shù)據(jù),為Admin等控制臺提供運(yùn)維能力(如:服務(wù)測試、接口文檔等)。
    • 服務(wù)發(fā)現(xiàn)機(jī)制的補(bǔ)充,提供額外的接口/方法級別配置信息的同步能力,相當(dāng)于注冊中心的額外擴(kuò)展。
image

上圖完整的描述了Dubbo3微服務(wù)組件與各個中心的交互過程。

使用Nacos服務(wù)建立三中心體系

開展我們啟動Nacos服務(wù)的搭建過程,此部分我們可以參考之前的文章:【深入淺出 Dubbo3 原理及實(shí)戰(zhàn)】「SpringCloud-Alibaba 系列」基于 Nacos 作為注冊中心進(jìn)行發(fā)布 SpringCloud-alibaba 生態(tài)的 RPC 接口實(shí)戰(zhàn),進(jìn)行部署對應(yīng)的Nacos即可。

Nacos對接Dubbo的注冊中心、配置中心和元數(shù)據(jù)中心

接下來我們需要針對于Nacos如何配置和對接我們的三中心體系進(jìn)行相關(guān)的介紹和分析。Dubbo的注冊中心、配置中心和元數(shù)據(jù)中心

Nacos如何對接Dubbo3的配置中心和元數(shù)據(jù)中心

針對于Nacos對接注冊中心的方案之前我們已經(jīng)對接過了,在這里我們就不過多的贅述,我們目前主要針對于配置中心以及元數(shù)據(jù)中心進(jìn)行分析如何開發(fā)。

元數(shù)據(jù)中心

首先我們需要針對于SpringBoot的項(xiàng)目的配置進(jìn)行配置添加dubbo3的配置,進(jìn)行配置maven依賴。

zookeeper的元數(shù)據(jù)中心的配置(3.0.7的dubbo版本)
<dependency>
    <groupId>org.apache.dubbo</groupId>
    <artifactId>dubbo-metadata-report-zookeeper</artifactId>
    <version>3.0.7</version>
</dependency>
redis的元數(shù)據(jù)中心的配置(3.0.7的dubbo版本)
<dependency>
    <groupId>org.apache.dubbo</groupId>
    <artifactId>dubbo-metadata-report-redis</artifactId>
</dependency>
nacos的元數(shù)據(jù)中心的配置(3.0.7的dubbo版本)
<dependency>
    <groupId>org.apache.dubbo</groupId>
    <artifactId>dubbo-metadata-report-nacos</artifactId>
</dependency>

在這里我們選擇的是nacos的配置,之后進(jìn)行配置選擇,針對于application.properties文件的配置如下:

元數(shù)據(jù)中心的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

對應(yīng)的常用配置:

  • dubbo.metadata-report.address:元數(shù)據(jù)中心的地址,此時可以配置nacos的地址,nacos的地址為 nacos://ip:8848,代表dubbo會把nacos作為元數(shù)據(jù)中心,進(jìn)行上報對應(yīng)的接口信息和應(yīng)用名稱關(guān)系等。

  • dubbo.metadata-report.retry-times: 元數(shù)據(jù)中心的地址,如果上報數(shù)據(jù)之后,出現(xiàn)了失敗場景,會進(jìn)行重試的次數(shù),我們可以配置5次。,默認(rèn)100

  • dubbo.metadata-report.retry-period: 重試執(zhí)行的間隔時間,單位為毫秒,重試周期,默認(rèn)3000ms。

  • dubbo.metadata-report.cycle-report: 定時刷新,默認(rèn)開啟(true),可以通過設(shè)置cycleReport=false進(jìn)行關(guān)閉。

即可完成元數(shù)據(jù)中心的對應(yīng)的Dubbo3的對接配置。

配置中心

相比配置中心不支持redis,所以我們主要采用nacos去實(shí)現(xiàn)配置中心的掛載對接。

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

即可完成對應(yīng)的配置中心的配置機(jī)制

最后配置中心和元數(shù)據(jù)中心對接Nacos內(nèi)部的配置分析,大家可以嘗試配置一下看看對應(yīng)的效果即可。下一篇文章會給大家展示效果。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容