為什么設計 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。
友情提醒:服務器配置較差,訪問速度可能不是很快,請體諒。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/107082.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...
閱讀 947·2021-09-26 09:55
閱讀 3192·2021-09-22 15:36
閱讀 2982·2021-09-04 16:48
閱讀 3142·2021-09-01 11:41
閱讀 2591·2019-08-30 13:49
閱讀 1492·2019-08-29 18:46
閱讀 3546·2019-08-29 17:28
閱讀 3425·2019-08-29 14:11