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