Dubbo 配置中心、元数据中心
配置中心
每个服务的配置都写在自己的配置文件中,更新配置时要一台机器一台机器地修改,很不方便,
dubbo一般使用zk作为配置管理中心,统一管理dubbo的配置,也有用diamond的。
dubbo admin -> 配置管理 -> 创建
全局配置的名称使用global,对所有的服务提供者、消费者均有效,写一些公共配置,比如
#注册中心 dubbo.registry.address=zookeeper://192.168.1.9:2181 #连接超时 dubbo.registry.timeout=10000 #dubbo使用的协议、端口 dubbo.protocol.name=dubbo dubbo.protocol.port=20880
配置会保存在 zkServer的/dubbo/config 中,其中全局配置保存在config下面的 dubbo/dubbo.properties 中。
应用级别配置的名称使用服务名(dubbo.application.name),该配置只对指定的服务有效,一般写这个服务私有的配置,比如 dubbo.scan.base-packages 。
如果全局配置中也设置了相同的配置项,以应用级配置为准(越精细的优先级越高)。
使用配置中心后,提供者、消费者在springboot配置文件中不用写dubbo的其它配置,只写配置中心的配置即可:
#配置中心地址 dubbo.config-center.address=zookeeper://192.168.1.9:2181 #连接到配置中心的超时时间,ms dubbo.config-center.timeout=10000
应用启动时,会自动连接到配置中心,从配置中心获取dubbo的配置
dubbo.scan.base-packages 这种配置,如果觉得放在配置中心代码重构修改包位置时不方便,就放在springboot配置文件中也可以。
元数据中心
元数据中心用于存储一些服务提供者、消费者的信息,比如dubbo版本、服务接口的信息(包括方法名、形参表、返回值类型)等等。
dubbo支持2种元数据中心:zk、redis,此处以zk为例。
分别在消费者、提供者中加入元数据中心的依赖:
<dependency> <groupId>org.apache.dubbo</groupId> <artifactId>dubbo-metadata-report-zookeeper</artifactId> <version>2.7.6</version> <scope>test</scope> </dependency>
使用redis作为元数据中心的话,把artifactId中的zookeeper换为redis即可。
版本号一般要用maven统一管理dubbo各个依赖的版本,做到dubbo的依赖都是同一版本。此处未统一管理版本。
看到作用域是test,就知道元数据中心这玩意儿是测试用的。
然后在全局配置中加上元数据中心的配置:
#元数据配置中心地址 dubbo.metadata-report.address=zookeeper://192.168.1.9:2181
一般配置个地址就可以了
重启应用来获取新的配置,看到zkServer上产生了一个新的节点 /dubbo/metadata,
metadata下面每个子节点都存储一个服务的元数据,provider、consumer分别存储该服务提供者、消费者的元数据,json格式,
数据有点乱,要看的话可以找个json格式化工具格式化一下。
元数据中心主要的功能是测试服务接口,配置元数据中心以后,可以在dubbo admin中测试服务接口。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 字符编码:从基础到乱码解决