承接上文

通过之前的【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内部的配置分析,大家可以尝试配置一下看看对应的效果即可。下一篇文章会给大家展示效果。

最新文章

  1. Spring-----定时任务Quartz配置
  2. mac brew install redis 报错
  3. Javascript实现二级select联动
  4. Linux下swoole的安装配置
  5. [PHP] 自定义错误处理
  6. Poj(2771),最大独立集
  7. javascript中的闭包。
  8. 理解依赖注入(IOC)和学习Unity
  9. mvc PagerHelper静态分页
  10. RTTI、虚函数和虚基类的实现方式、开销分析及使用指导(虚函数的开销很小,就2次操作而已)
  11. 2013 ACM/ICPC Asia Regional Chengdu Online hdu4731 Minimum palindrome
  12. socket阻塞IO流程图
  13. Ehcache 3.7文档—基础篇—Tiering Options
  14. Java基于opencv—归一化
  15. 前端面试(二):N轮面试
  16. Python 列表改为嵌套列表再转为矩阵
  17. ScrollView match_parent不起作用
  18. 万恶之源 - Python包的应用
  19. 几种RAID介绍(总结)
  20. 【ARC079F】Namori Grundy

热门文章

  1. Hadoop集群简单入门
  2. SpringBoot内置工具类,告别瞎写工具类了
  3. [Android开发学iOS系列] Auto Layout
  4. 缺省源&amp;一些常用的码头
  5. ubuntu基本
  6. 推荐三个实用的 Go 开发工具
  7. 并发bug之源(二)-有序性
  8. K8S kubesphere安装mysql
  9. python3获取列表逆序的五种方式
  10. day08 final关键字&amp;面向对象——多态&amp;抽象类、方法&amp;向上、向下转型