You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@dubbo.apache.org by "chickenlj (GitHub)" <gi...@apache.org> on 2018/12/07 09:25:26 UTC

[GitHub] [incubator-dubbo] chickenlj opened issue #2912: [2.7.0-development docs] Config Center API design and default implementations.

## 设计目标

主要目标是将注册和配置分离,对接微服务体系的配置中心,同时提高配置中心单独扩展的能力。

从配置中心的角度,主要承担Dubbo的两个职责:

1. 启动阶段的集中式配置托管。类似SpringCloud Config的职责,简化用户端感知的配置,做到Dubbo外部化配置的集中式管理,同时使Dubbo更容易遵循已有的应用配置加载模式。
2. 运行期的规则推送。负责各种服务治理规则的推送,包括覆盖规则、路由规则等。

以SPI的形式做到方便扩展,默认提供Zookeeper, Apollo, Nacos的适配支持。

## 实现方式

#### 动态配置中心对接

1. 引入[ConfigCenter模块](https://github.com/apache/incubator-dubbo/tree/dev-metadata/dubbo-configcenter)及SPI

  
![configcenter](https://user-images.githubusercontent.com/18097545/49639062-f0d4d400-fa44-11e8-96b8-3a9884d5041e.jpg)


   定义新的SPI:`org.apache.dubbo.configcenter.DynamicConfiguration`,作为动态配置对接的统一抽象



1. 官方支持Zookeeper, Apollo, Nacos等配置中心适配,后续计划支持Etcd等

   对于配置中心的各个配置维度,包括dataId, group, namespace, cluster, application等概念,提供统一的抽象。

   
![dynamicconfiguration](https://user-images.githubusercontent.com/18097545/49639078-021de080-fa45-11e8-8082-676cca7f66b2.jpg)


2. 对外暴露ConfigCenter用户端配置,支持Properties、XML、API等方式

   - ConfigCenterConfig
   - ConfigCenterBean

## 动态配置在Dubbo框架中的角色

#### 1. 启动阶段的集中式配置管理

参见 [启动配置加载]()

#### 2. 服务治理

参见[覆盖规则]()和[路由规则]()

[ Full content available at: https://github.com/apache/incubator-dubbo/issues/2912 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org

[GitHub] [incubator-dubbo] chickenlj closed issue #2912: [2.7.0-development docs] Config Center API design and default implementations.

Posted by "chickenlj (GitHub)" <gi...@apache.org>.
[ issue closed by chickenlj ]

[ Full content available at: https://github.com/apache/incubator-dubbo/issues/2912 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org