【Dubbo3 終極特性】「雲原生三中心架構」帶你探索 Dubbo3 體系下的配置中心和元數據中心、註冊中心的原理及開發實戰(中)

承接上文

通過之前的【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內部的配置分析,大家可以嘗試配置一下看看對應的效果即可。下一篇文章會給大家展示效果。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章