为什么设计 DuiC
在工作中我们时常要根据不同环境配置不同的参数,让项目的灵活性、可用性变得更高,那灵活的配置就变得必不可少,虽然目前已经存在很多配置管理解决方案,但是管理方式局限性大,适应范围窄。
DuiC 在设计初就考虑到配置的应用范围,将配置获取方式设计为 RESTful API 的方式,可支持任何服务器端,客户端以及 WEB 轻松获取配置。其次 DuiC 管理配置统一采用 YAML 的方式,并提供 WEB 编辑器及语法高亮,语法校验等功能,降低配置修改的错误率。
DuiC 源码: https://github.com/zhudyos/duic已实现的功能
检查配置状态
通过 key 获取某个配置
通过 name/profile 获取整体配置
多个 profile 配置深度合并
配置权限管理
分布式配置管理
容器部署
Swagger 文档: https://app.swaggerhub.com/ap...Java Client API
Docker 镜像: https://hub.docker.com/r/zhud...
DuiC 提供 Java 客户端 API 帮助你快速获取配置,支持 Android/Java/JavaWeb/Spring 获取配置同时支持热加载配置。
duic-java-client:https://github.com/zhudyos/du...Java/Android 使用
使用 API 提供的 ConfigUtils 工具包获取配置。
创建 Config 实例并将设置为 ConfigUtils 的默认配置,使用。
Config config = new Config.Builder() .baseUri("https://duic.zhudy.io/api/v1") .name("hello") .profile("world") // .configToken("...") // .reloadPlot(new ReloadPlot(10, TimeUnit.SECONDS)) // 重载 // .failFast(true) // 快速失败 // .listener() // 配置加载监听 .build(); ConfigUtils.setDefaultConfig(config);Java Web 使用
使用 API 提供的 ConfigUtils 工具包获取配置。
在 web.xml 中配置监听器
duicConfigLocation classpath:duic.properties io.zhudy.duic.config.web.DuicConfigContextListener
在 duic.properties 文件中增加配置管理中心信息
duic.base.uri=https://duic.zhudy.io/api/v1 duic.name=hello duic.profile=world duic.config.token= duic.reload.period=10 duic.reload.unit=SECONDS duic.fail.fast=false # 多个 DuicListener 采用英文逗号(,)分隔 duic.listeners=xx.MyDuicListener在 Spring 中使用
使用 API 提供的 ConfigUtils 工具包获取配置
使用 @Value 的方式注入配置(推荐)
以上2种方式都支持热加载,推荐使用 @Value 的方式注入配置,这种方式对于你的代码没有任何的浸入性,支持 spring3.2 以上的版本使用。
使用注解的方式初始化
@Bean public static DuicConfigBeanFactoryPostProcessor duicConfigBeanFactoryPostProcessor() { DuicConfigBeanFactoryPostProcessor processor = new DuicConfigBeanFactoryPostProcessor(); processor.setBaseUri("https://duic.zhudy.io/api/v1"); processor.setName("hello"); processor.setProfile("world"); return processor; }
使用 XML 的方式初始化
注入配置
@Component public class Example { @Value("${k1.string}") private String k1; }Spring Boot 支持
DuiC 也提供了 duic-spring-cloud-config-client 来支持 spring-boot,使用 DuiC 管理配置可以完全替代 spring-cloud-config。
duic-spring-cloud-config-client:https://github.com/zhudyos/du...
该工具包支持 @ConfigurationProperties 及 @Value 注入配置,同时也支持热加载。
注意如果你使用 @ConfigurationProperties 注入配置并且想要热加载配置需要配合使用 @RefreshScope 注解。
关于更多 @RefreshScope 的资料请查看 spring-cloud 官方文档:https://cloud.spring.io/sprin...
使用示例在 bootstrap.yml 文件中增加如下配置
spring: application: name: samples (1) duic: spring: cloud: config: watch: enabled: true (2) initial_delay: 10000 (3) fixed_delay: 10000 (4) uri: https://duic.zhudy.io/api/v1 (5) profile: first,second (6) # token: [TOKEN] (7)duic docker-compose
https://github.com/zhudyos/du...
关于 DuiC 更加详细的描述,可以查看仓库中在 readme。
在线演示平台:https://duic.zhudy.io/index.html
e-mail: kevinz@weghst.com
password: 123456
大家可以使用在线演示平台,尝试使用其提供的 API 及 SDK。
友情提醒:服务器配置较差,访问速度可能不是很快,请体谅。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/68366.html
为什么设计 DuiC 在工作中我们时常要根据不同环境配置不同的参数,让项目的灵活性、可用性变得更高,那灵活的配置就变得必不可少,虽然目前已经存在很多配置管理解决方案,但是管理方式局限性大,适应范围窄。 DuiC 在设计初就考虑到配置的应用范围,将配置获取方式设计为 RESTful API 的方式,可支持任何服务器端,客户端以及 WEB 轻松获取配置。其次 DuiC 管理配置统一采用 YAML 的方...
为什么设计 DuiC 在工作中我们时常要根据不同环境配置不同的参数,让项目的灵活性、可用性变得更高,那灵活的配置就变得必不可少,虽然目前已经存在很多配置管理解决方案,但是管理方式局限性大,适应范围窄。 DuiC 在设计初就考虑到配置的应用范围,将配置获取方式设计为 RESTful API 的方式,可支持任何服务器端,客户端以及 WEB 轻松获取配置。其次 DuiC 管理配置统一采用 YAML 的方...
摘要:源码在线演示平台登录信息请不要修改演示应用配置如需要测试请添加新的应用注意因为机器网络配置较低访问相对较慢简介是采用开发的分布式统一配置管理系统它的目标是管理所有应用的配置设计目标统一配置管理标准配置管理规范管理所有的配置更灵活的 源码 GitHub在线演示平台登录信息E-Mail: kevinz@weghst.comPassword: 123456 请不要修改演示应用配置, 如需要...
摘要:什么是是配置管理中心,将配置统一管理提供标准的配置格式及编辑方式。如上图支持任何应用,任何语言的配置管理,,,等,同时采用语法作用配置文件格式,支持数据类型及结构化配置。前提创建数据库配置数据库连接将文件与文件放置在同一目录中。 什么是配置? 服务运行时能够通过外部动态修改的参数既是配置。在运行时动态变更服务的行为,避免业务发生变更需要修改代码或重启服务等等。 什么是 duic? du...
摘要:什么是是配置管理中心,将配置统一管理提供标准的配置格式及编辑方式。如上图支持任何应用,任何语言的配置管理,,,等,同时采用语法作用配置文件格式,支持数据类型及结构化配置。前提创建数据库配置数据库连接将文件与文件放置在同一目录中。 什么是配置? 服务运行时能够通过外部动态修改的参数既是配置。在运行时动态变更服务的行为,避免业务发生变更需要修改代码或重启服务等等。 什么是 duic? du...
阅读 970·2023-04-25 22:27
阅读 843·2021-11-22 14:56
阅读 928·2021-11-11 16:54
阅读 1629·2019-08-30 15:54
阅读 3450·2019-08-30 13:20
阅读 1184·2019-08-30 10:55
阅读 2045·2019-08-26 13:34
阅读 3252·2019-08-26 11:53