Dubbo注册中心

2020/02/12 Dubbo

Dubbo注册中心

Dubbo配置中心

配置中心的核心功能是作为 Key-Value 存储,Dubbo 框架告知配置中心其关心的 key,配置中心返回该key对应的 value 值。

按照应用场景划分,配置中心在 Dubbo 框架中主要承担以下职责:

  • 作为外部化配置中心,即存储 dubbo.properties 配置文件,此时,key 值通常为文件名如 dubbo.properties,value 则为配置文件内容。
  • 存储单个配置项,如各种开关项、常量值等。
  • 存储服务治理规则,此时key通常按照 “服务名+规则类型” 的格式来组织,而 value 则为具体的治理规则。 为了进一步实现对 key-value 的分组管理,Dubbo 的配置中心还加入了 namespace、group 的概念,这些概念在很多专业的第三方配置中心中都有体现,通常情况下,namespace 用来隔离不同的租户,group 用来对同一租户的key集合做分组。

当前,Dubbo 配置中心实现了对 Zookeeper、Nacos、Etcd、Consul、Apollo 的对接。

目前Dubbo主要版本有两个:Dubbo 2.7和Dubbo 2.6 两个版本最大的差异,在于配置管理中心。Dubbo 2.6版本所有数据都存在注册中心上,Dubbo 2.7版本分成了注册中心,配置中心,和元数据中心。

Dubbo Admin对于配置管理的操作,配置方式和Dubbo 2.7的模式一样,详见Dubbo Admin配置说明,并且兼容Dubbo 2.6的版本,这里的“兼容”是指:

  • 服务级别的配置,都会按照Dubbo 2.7和Dubbo 2.6两种格式分别写入,保证Dubbo 2.6的服务能够正确解析对应的规则
  • 应用级别的配置(包括标签路由),只会按照Dubbo 2.7的格式写入,因为Dubbo 2.6中没有这个特性。 Dubbo Admin只会按照Dubbo 2.7的格式去读取配置,因此所有在Admin上配置规则都可以读到,但是之前在注册中心上遗留的Dubbo 2.6格式的规则,不会展示在Dubbo Admin,也不能在Dubbo Admin上进行操作。

在以ZK 为注册中心的情况下,不同的配置在zk上的节点结构如下: 正常的服务节点:

/dubbo/服务名/providers  
/dubbo/服务名/routers
/dubbo/服务名/consumers
/dubbo/服务名/congurators

应用级别的配置:

/dubbo/config/应用名/configurators 
/dubbo/config/应用名/routers
/dubbo/config/应用名/dubbo.properties

服务级别的配置:

/dubbo/config/分组名/服务名:版本号/configurators 
/dubbo/config/分组名/服务名:版本号/routers
/dubbo/config/分组名/服务名:版本号/dubbo.properties

配置管理(外部化配置中心):

/dubbo/config/dubbo/dubbo.properties  global 级别
/dubbo/config/应用名/dubbo.properties  应用级别

Search

    微信好友

    博士的沙漏

    Table of Contents