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是否采用精简模式的 (与低版本兼容)

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

  1. macOS 新功能:【控制中心】让你的 Mac 系统更方便!

    macOS 11 中新加入的功能 - [控制中心]. 虽然说是 Mac 新加入的功能,不过使用 iPhone 和 iPad 的朋友其实早就用到这个功能了. [控制中心]是将之前散落在系统各处的控制功能 ...

  2. Dubbo Admin服务测试功能

    基于Dubbo2.7的元数据,Dubbo Admin实现了服务测试功能,可以通过泛化调用,在控制台上调用真实的服务提供者 使用方式 部署服务提供者: 可以在这里下载demo,此工程基于spring b ...

  3. Spring Cloud Alibaba配置实例nacos+sentinel+dubbo实行服务注册、配置中心、熔断限流

    通过Spring Cloud Alibaba相关组件nacos+sentinel+dubbo实行服务注册.配置中心.熔断限流等功能 1.本机安装nacos和sentinel-dashboard服务端 ...

  4. 全链路灰度新功能:MSE上线配置标签推送

    为什么需要配置标签推送 从全链路灰度谈起 在微服务场景中,应用的灰度发布迎来了新的挑战.不同于单体架构中将应用整体打包即可发布测试版本,微服务应用往往由多个服务组合而成.这些服务通常由不同的团队负责, ...

  5. 单图说TDSQL;OceanBase 2.2 事务引擎核心功能;穿云箭2.0版发布;RMAN DUPLICATE配置19C DG;外键上有无索引的影响;MySQL8.0 索引新功能;GaussDB C

    摘要:墨天轮数据库周刊第16期发布啦,每周1次推送本周数据库相关热门资讯.精选文章.干货文档. 热门资讯 1.英国电信企业Virgin Media营销数据库配置错误 导致90万客户信息泄露 [摘要]英 ...

  6. datastage配置jdbc_Datastage 11.5新功能介绍----Hive Connector

    Question Datastage是否有专门的组件支持Hive呢? Answer 在最新的IBM Information Server 11.5.0.1中,新增了一些组件和功能,其中比较重要的就是H ...

  7. Amazon EKS 新功能上线——助你降低配置和管理复杂度

    我们在与客户沟通过程中了解到,一些从基于 EC2 自建的 Kubernetes 迁移到使用 Amazon Elastic Kubernetes Service (Amazon EKS) 托管服务的客户 ...

  8. 阿里云服务网格 ASM 发布新功能:提供更精细化的服务治理能力

    简介:服务网格作为服务间通信的基础设施层,吸引了越来越多的用户使用.阿里云服务网格 ASM 将继续为开发者带来便利.9月1日,阿里云服务网格( ASM )产品经理问思为大家解读近期 ASM 发布的一些 ...

  9. Java Web学习总结(41)——Java EE 8 新功能展望

    Java EE 7简介 Java EE 作为一个企业应用的部署平台,具有很好的健壮性.能够提供强大的 Web 服务且非常易于部署.这些年来,通过其不断发展,它已大大简化了以服务器为中心的应用程序的开发 ...

最新文章

  1. 独家 | 对抗图像和攻击在Keras和TensorFlow上的实现
  2. 修完 Bug 后脑袋灵光一现 | 每日趣闻
  3. Unity3D手机斗地主游戏开发实战(03)_地主牌显示和出牌逻辑
  4. java 命名代码检查-注解处理器
  5. 【Android View基础】View中几个容易混淆的距离及坐标量
  6. c++ 基本数据类型字节数
  7. 冲刺第八天 12.4 TUE
  8. 单词九连猜python编程_python实现猜单词游戏
  9. linux硬盘转windows7,记——第一次上手UEFI电脑,将mbr硬盘的Windows7和Linux转为gpt+uefi启动...
  10. 记6分的交通违法行为
  11. vue中组件的导出导入_5.2 vue中 keep-alive 组件的作用,详细解释keep-alive使用方法...
  12. 无需安装配置,多操作系统支持数据库及性能测试
  13. c#命名规范(转载)
  14. c语言qq聊天刷屏代码大全,QQ聊天刷屏脚本 达人分享技巧
  15. 之前做设计收集的部分网站
  16. Docker镜像下载到本地及恢复
  17. win10 休眠唤醒 电源_一劳永逸解决WIN10所有睡眠问题
  18. 2022年对于李一男是关键的一年,这也将决定他的社会地位
  19. 【云原生 | 12】Dockerfile语法详解及举例
  20. 身家破亿!86版「红孩儿」拒绝出道成学霸,已是中科院博士,名下52家公司

热门文章

  1. 2022-04-21 Omnet学习笔记(一)
  2. matlab中的脚本与函数、自相关函数corr,xcorr,corrcoef的应用
  3. 802.11a/b/g/n无线协议详解
  4. python:绘制直方图(Histogram)
  5. AD18官方原器件库下载及导入方法
  6. WebGIS入门--如何做一个简单的校园地图服务网站
  7. 何时对固态盘运行低级格式化或擦除以及使用的工具
  8. 如何在SteamVR 2.x 中使用自定义手部模型
  9. Context Path + servlet path + path info
  10. 全国邮编前缀归属省及其备注整理,血的代价整理输出,供大家参阅