【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 版本)
redis 的元数据中心的配置(3.0.7 的 dubbo 版本)
nacos 的元数据中心的配置(3.0.7 的 dubbo 版本)
在这里我们选择的是 nacos 的配置,之后进行配置选择,针对于 application.properties 文件的配置如下:
元数据中心的 applicaion.properties 配置
对应的常用配置:
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 版本)
zookeeper 的配置中心的配置(3.0.7 的 dubbo 版本)
配置中心的 applicaion.properties 配置
zookeeper 的配置
nacos 的配置
即可完成对应的配置中心的配置机制。
最后配置中心和元数据中心对接 Nacos 内部的配置分析,大家可以尝试配置一下看看对应的效果即可。下一篇文章会给大家展示效果。
版权声明: 本文为 InfoQ 作者【洛神灬殇】的原创文章。
原文链接:【http://xie.infoq.cn/article/fb517cdfa4b8e11c0f52f6883】。文章转载请联系作者。
评论