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

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: 【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内部的配置分析,大家可以尝试配置一下看看对应的效果即可。下一篇文章会给大家展示效果。


相关实践学习
基于MSE实现微服务的全链路灰度
通过本场景的实验操作,您将了解并实现在线业务的微服务全链路灰度能力。
相关文章
|
22天前
|
API 数据库 开发者
构建高效可靠的微服务架构:后端开发的新范式
【4月更文挑战第8天】 随着现代软件开发的复杂性日益增加,传统的单体应用架构面临着可扩展性、维护性和敏捷性的挑战。为了解决这些问题,微服务架构应运而生,并迅速成为后端开发领域的一股清流。本文将深入探讨微服务架构的设计原则、实施策略及其带来的优势与挑战,为后端开发者提供一种全新视角,以实现更加灵活、高效和稳定的系统构建。
23 0
|
8天前
|
存储 开发框架 前端开发
前端框架EXT.NET Dotnet 3.5开发的实验室信息管理系统(LIMS)成品源码 B/S架构
发展历史:实验室信息管理系统(LIMS),就是指通过计算机网络技术对实验的各种信息进行管理的计算机软、硬件系统。也就是将计算机网络技术与现代的管理思想有机结合,利用数据处理技术、海量数据存储技术、宽带传输网络技术、自动化仪器分析技术,来对实验室的信息管理和质量控制等进行全方位管理的计算机软、硬件系统,以满足实验室管理上的各种目标(计划、控制、执行)。
|
10天前
|
消息中间件 监控 持续交付
构建高效微服务架构:后端开发的进阶之路
【4月更文挑战第20天】 随着现代软件开发的复杂性日益增加,传统的单体应用已难以满足快速迭代和灵活部署的需求。微服务架构作为一种新兴的分布式系统设计方式,以其独立部署、易于扩展和维护的特点,成为解决这一问题的关键。本文将深入探讨微服务的核心概念、设计原则以及在后端开发实践中如何构建一个高效的微服务架构。我们将从服务划分、通信机制、数据一致性、服务发现与注册等方面入手,提供一系列实用的策略和建议,帮助开发者优化后端系统的性能和可维护性。
|
2月前
|
监控 Java 开发者
构建高效微服务架构:后端开发的新范式
在数字化转型的浪潮中,微服务架构以其灵活性、可扩展性和容错性成为企业技术战略的关键组成部分。本文深入探讨了微服务的核心概念,包括其设计原则、技术栈选择以及与容器化和编排技术的融合。通过实际案例分析,展示了如何利用微服务架构提升系统性能,实现快速迭代部署,并通过服务的解耦来提高整体系统的可靠性。
|
2月前
|
NoSQL Java Redis
【分布式技术专题】「分布式技术架构」手把手教你如何开发一个属于自己的分布式锁的功能组件(二)
【分布式技术专题】「分布式技术架构」手把手教你如何开发一个属于自己的分布式锁的功能组件
15 0
|
6天前
|
持续交付 API 开发者
构建高效微服务架构:后端开发的新范式
【4月更文挑战第24天】 随着现代软件系统的复杂性日益增加,传统的单体应用已难以满足快速迭代与灵活扩展的需求。微服务架构作为一种新兴的软件开发模式,以其服务的细粒度、独立部署和弹性伸缩等优势,正在逐渐成为后端开发的重要趋势。本文将深入探讨微服务架构的设计原则、关键技术以及在实际业务中的应用实践,旨在为后端开发者提供构建和维护高效微服务架构的参考指南。
|
8天前
|
监控 API 持续交付
构建高效微服务架构:后端开发的新趋势
【4月更文挑战第23天】 随着现代软件开发实践的不断演进,微服务架构已经成为企业追求敏捷、可扩展和弹性解决方案的首选。本文深入探讨了如何构建一个高效的微服务架构,涵盖了关键的设计原则、技术选型以及实践建议。通过分析微服务的独立性、分布式特性和容错机制,我们将揭示如何利用容器化、服务网格和API网关等技术手段,来优化后端系统的可维护性和性能。文章旨在为后端开发人员提供一套全面的指南,以应对不断变化的业务需求和技术挑战。
|
13天前
|
监控 持续交付 开发者
构建高效微服务架构:后端开发的新趋势
【4月更文挑战第18天】在数字化转型的浪潮中,微服务架构已成为企业提升系统灵活性、加速产品迭代的关键。此文深入探讨了构建高效微服务架构的实践方法,包括服务划分原则、容器化部署、持续集成/持续部署(CI/CD)流程以及监控与日志管理等关键技术点。通过分析具体案例,揭示了微服务在提高开发效率、降低维护成本及促进团队协作方面的显著优势。
|
16天前
|
监控 负载均衡 API
构建高性能微服务架构:后端开发的最佳实践
【4月更文挑战第14天】 在当今快速发展的软件开发领域,微服务架构已成为构建可扩展、灵活且容错的系统的首选方法。本文深入探讨了后端开发人员在设计和维护高性能微服务时需要遵循的一系列最佳实践。我们将从服务划分原则、容器化部署、API网关使用、负载均衡、服务监控与故障恢复等方面展开讨论,并结合实际案例分析如何优化微服务性能及可靠性。通过本文的阅读,读者将获得实施高效微服务架构的实用知识与策略。
|
29天前
|
Kubernetes API 开发者
构建高效微服务架构:后端开发的新范式
在数字化转型的浪潮中,微服务架构已成为许多企业追求敏捷开发、持续交付和系统可维护性的关键解决方案。本文将深入探讨微服务架构的设计原则、技术选型以及实践案例,为后端开发者提供一套构建和维护微服务系统的实用指南。