【Dubbo】Dubbo2.7新功能 --配置中心、元数据中心

1.配置中心

配置中心提供了动态配置功能,是 Dubbo2.7 版本引入的一个新的功能。

  • 简单来说,就是把 dubbo.properties 中的属性进行集中式存储,存储在其他的服务器上。
  • 目前 Dubbo 能支持的配置中心有:apollo、nacos、zookeeper

其实,从另外一个角度来看,我们之前用 zookeeper 实现服务注册和发现,本质上就是使用 zookeeper 实现了配置中心,这个配置中心只是维护了服务注册和服务感知的功能。在 2.7 版本中 Dubbo 对配置中心做了延展,出了服务注册之外,还可以把其他的数据存储在 zookeeper 上,从而更好的进行维护。

1.在 dubboadmin 添加配置

应用名称可以是 global,或者对应当前服务的应用名

  • 如果是 global 表示全局配置, 针对所有应用可见配置的内容
  • 如果是应用名,则只针对某一服务

PS:实际就是 dubbo.properties 中配置的基本信息。只是同意存储在了 zookeeper上

在这里插入图片描述

2.本地的配置文件添加配置中心

在 application.properties 中添加配置中心的配置项

dubbo.config-center.address=zookeeper://43.107.136.120:2181
dubbo.config-center.app-name=spring-boot-provider # 要与application.name相同

注:为了可靠性(配置中心挂了还要配置),存在于配置中心上的配置项本地仍然需要配置一份。所以下面这些配置一定要加上。否则启动不了。

dubbo.application.name=spring-boot-provider                       
dubbo.registry.address=zookeeper://43.107.136.120:2181
dubbo.scan.base-packages=com.xupt.yzh.dubboclient

3.配置的优先级

引入配置中心后,两份配置的优先级就需要关注了

  • 默认情况下,外部配置的优先级最高, 也就是配置中心上的配置会覆盖本地的配置
  • 当然也可以调整优先级 dubbo.config-center.highest-priority=false

配置中心原理

默认所有的配置都存储在/dubbo/config节点,具体节点结构图如下。

在这里插入图片描述

  • namespace:用于不同配置的环境隔离
  • config:Dubbo 约定的固定节点,不可更改,所有配置和服务治理规则都存储在此节点下
  • dubbo/application:全局配置(dubbo是默认group值)、应用级别配置(application对应应用名)
  • dubbo.properties:此节点的 node value 存储具体配置内容

2.元数据中心

在 Dubbo2.7 之前,所有的配置信息,比如服务接口名称、重试次数、版本号、负载策略、容错策略等等,所有参数都是基于 url 形式配置在 zookeeper 上的。这种方式会造成一些问题 :

  1. url 内容过多,导致数据存储空间增大 ,而注册中心(zookeeper等)的内存空间是有限的
  2. url 需要涉及到网络传输,数据量过大会造成网络传输过慢
  3. 网络传输慢,会造成服务地址感知的延迟变大,影响服务的正常响应

服务提供者这边的配置参数有30多个,有一半是不需要作为注册中心进行存储的。而消费者这边可配置的参数有 25 个以上,只有个别是需要传递到注册中心的。所以,在 Dubbo2.7 中对元数据进行了改造,简单来说:

  • 把属于服务治理的数据发布到注册中心
  • 其他的配置数据统一发布到元数据中心。这样一来大大降低了注册中心的负载。

元数据中心配置

元数据中心目前支持 redis 和 zookeeper。官方推荐是采用 redis,因为 redis 本身对于非结构化存储的数据读写性能比较高。当然,也可以使用 zookeeper 来实现。

在配置文件中添加元数据中心的地址:

dubbo.metadata-report.address=zookeeper://43.107.136.120::2181 
dubbo.registry.simplified=true  #注册到注册中心的URL是否采用精简模式的 (与低版本兼容)
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

A minor

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值