【Dubbo3 终极特性】「云原生三中心架构」带你探索 Dubbo3 体系下的配置中心和元数据中心、注册中心的原理及开发实战(中)

简介: 【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版本)

xml

复制代码

<dependency>
    <groupId>org.apache.dubbo</groupId>
    <artifactId>dubbo-metadata-report-zookeeper</artifactId>
    <version>3.0.7</version>
</dependency>
redis的元数据中心的配置(3.0.7的dubbo版本)

xml

复制代码

<dependency>
    <groupId>org.apache.dubbo</groupId>
    <artifactId>dubbo-metadata-report-redis</artifactId>
</dependency>
nacos的元数据中心的配置(3.0.7的dubbo版本)

xml

复制代码

<dependency>
    <groupId>org.apache.dubbo</groupId>
    <artifactId>dubbo-metadata-report-nacos</artifactId>
</dependency>

在这里我们选择的是nacos的配置,之后进行配置选择,针对于application.properties文件的配置如下:

元数据中心的applicaion.properties配置

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版本)

xml

复制代码

<dependency>
      <groupId>org.apache.dubbo</groupId>
      <artifactId>dubbo-configcenter-nacos</artifactId>
      <version>3.0.7</version>
 </dependency>
zookeeper的配置中心的配置(3.0.7的dubbo版本)

xml

复制代码

<dependency>
      <groupId>org.apache.dubbo</groupId>
      <artifactId>dubbo-configcenter-zookeeper</artifactId>
      <version>3.0.7</version>
 </dependency>
配置中心的applicaion.properties配置

zookeeper的配置

properties

复制代码

dubbo.config-center.address=zookeeper://${config-center.address:127.0.0.1}:2181

nacos的配置

properties

复制代码

dubbo.config-center.address=nacos://${nacos.address:127.0.0.1}:8848?username=nacos&password=nacos

即可完成对应的配置中心的配置机制

最后配置中心和元数据中心对接Nacos内部的配置分析,大家可以尝试配置一下看看对应的效果即可。下一篇文章会给大家展示效果。


相关文章
|
存储 Cloud Native 数据处理
从嵌入式状态管理到云原生架构:Apache Flink 的演进与下一代增量计算范式
本文整理自阿里云资深技术专家、Apache Flink PMC 成员梅源在 Flink Forward Asia 新加坡 2025上的分享,深入解析 Flink 状态管理系统的发展历程,从核心设计到 Flink 2.0 存算分离架构,并展望未来基于流批一体的通用增量计算方向。
390 0
从嵌入式状态管理到云原生架构:Apache Flink 的演进与下一代增量计算范式
|
5月前
|
运维 监控 Cloud Native
从本土到全球,云原生架构护航灵犀互娱游戏出海
本文内容整理自「 2025 中企出海大会·游戏与互娱出海分论坛」,灵犀互娱基础架构负责人朱晓靖的演讲内容,从技术层面分享云原生架构护航灵犀互娱游戏出海经验。
530 16
|
5月前
|
运维 监控 Cloud Native
从本土到全球,云原生架构护航灵犀互娱游戏出海
内容整理自「 2025 中企出海大会·游戏与互娱出海分论坛」,灵犀互娱基础架构负责人朱晓靖的演讲内容,从技术层面分享云原生架构护航灵犀互娱游戏出海经验。
|
3月前
|
前端开发 JavaScript 物联网
全栈开发:从LAMP到云原生的技术革命
🌟蒋星熠Jaxonic,全栈探索者。从Web到AI、IoT、区块链,深耕垂直领域,践行“T型人才”理念。分享技术演进与实战经验,助你在代码星河中找到属于自己的航向。
全栈开发:从LAMP到云原生的技术革命
|
3月前
|
Cloud Native Serverless API
微服务架构实战指南:从单体应用到云原生的蜕变之路
🌟蒋星熠Jaxonic,代码为舟的星际旅人。深耕微服务架构,擅以DDD拆分服务、构建高可用通信与治理体系。分享从单体到云原生的实战经验,探索技术演进的无限可能。
微服务架构实战指南:从单体应用到云原生的蜕变之路
|
3月前
|
Java Linux 虚拟化
【Docker】(1)Docker的概述与架构,手把手带你安装Docker,云原生路上不可缺少的一门技术!
1. Docker简介 1.1 Docker是什么 为什么docker会出现? 假定您在开发一款平台项目,您的开发环境具有特定的配置。其他开发人员身处的环境配置也各有不同。 您正在开发的应用依赖于您当前的配置且还要依赖于某些配置文件。 您的企业还拥有标准化的测试和生产环境,且具有自身的配置和一系列支持文件。 **要求:**希望尽可能多在本地模拟这些环境而不产生重新创建服务器环境的开销 问题: 要如何确保应用能够在这些环境中运行和通过质量检测? 在部署过程中不出现令人头疼的版本、配置问题 无需重新编写代码和进行故障修复
403 2
|
3月前
|
人工智能 Kubernetes Cloud Native
Higress(云原生AI网关) 架构学习指南
Higress 架构学习指南 🚀写在前面: 嘿,欢迎你来到 Higress 的学习之旅!
867 0
|
6月前
|
运维 监控 Cloud Native
从“守机器”到“写策略”——云原生架构把运维逼成了架构师
从“守机器”到“写策略”——云原生架构把运维逼成了架构师
146 1
|
6月前
|
缓存 Cloud Native Java
Java 面试微服务架构与云原生技术实操内容及核心考点梳理 Java 面试
本内容涵盖Java面试核心技术实操,包括微服务架构(Spring Cloud Alibaba)、响应式编程(WebFlux)、容器化(Docker+K8s)、函数式编程、多级缓存、分库分表、链路追踪(Skywalking)等大厂高频考点,助你系统提升面试能力。
333 0