DuiC分布式配置中心
duic 分布式配置中心
duic 配置中心的設(shè)計目標(biāo)是統(tǒng)一不同應(yīng)用的配置管理方式,打造更人性化的配置編輯方式,提供更靈活的配置獲取方式
______ _ ______ |_ _ `. (_) .' ___ | | | `. \ __ _ __ / .' \_| | | | |[ | | | [ || | _| |_.' / | \_/ |, | |\ `.___.'\ |______.' '.__.'_/[___]`.____ .'
簡介
duic 是采用 spring-webflux 開發(fā),通過 RESTful 方式拉取配置,支持配置合并,內(nèi)置 web 控制臺修改配置, 支持配置用戶權(quán)限設(shè)置,支持配置訪問 IP 限制,支持 Token 限制,支持多應(yīng)用多環(huán)境變量,支持 docker,支持集群。
特性
-
集中配置管理, 多應(yīng)用多環(huán)境配置
在 web 控制臺中你可以創(chuàng)建多個配置,相同應(yīng)用不同環(huán)境的配置可以使用(profile)區(qū)分,同一個應(yīng)用下多個(profile)配置可以合并 https://duic.zhudy.io/index.html
-
配置數(shù)據(jù)類型/數(shù)據(jù)格式
duic 采用 yaml 文件格式管理配置,天生支持?jǐn)?shù)據(jù)類型及數(shù)據(jù)格式
-
HTTP 方式拉取配置
duic 采用 HTTP 的方式拉取配置,所以你可以在任何應(yīng)用中使用 duic 配置管理
-
配置狀態(tài)檢查
支持配置狀態(tài)檢查,如果配置發(fā)生變動該狀態(tài)也會相應(yīng)變化,使用方可根據(jù)狀態(tài)的變化重載配置
GET {base_uri}/apps/states/{name}/{profiles} -
多配置合并
相同應(yīng)用(name)下的多個配置(profile)可以合并配置,相同 key 的配置將以深度合并的方式返回
GET {base_uri}/apps/{name}/{profile},{profile2},{profile3}合并方式按照請求 URL 中 profile 順序,后者覆蓋前者
-
按需獲取配置
你有時可能需要獲取某個 key 的配置而不是整個 profile 的配置
GET {base_uri}/apps/{name}/{profile}/{key}key 支持按
.分隔, 父key可以獲取子項的所有配置 -
完美支持 spring-boot
duic 不僅可以管理你的業(yè)務(wù)配置,同時還可以管理 spring-boot 自身的任何配置,你可以像在
application.yaml文件中編輯配置一樣的編輯它, 同時我們還提供了 duic-spring-cloud-config-client,該庫支持@ConfigurationProperties@Value注解,同時還支持配置熱加載 -
配置權(quán)限管理
支持配置權(quán)限管理,用戶只可以修改自身擁有權(quán)限的配置
-
配置支持 IP 訪問限制
每個 profile 的配置都可以設(shè)置 IP 訪問控制,不在訪問限制內(nèi)的 IP 將無法獲取配置信息
-
配置支持 TOKEN 校驗
訪問有 TOKEN 校驗的配置必須在請求中帶上 TOKEN,TOKEN 校驗失敗將無法獲取配置信息
-
支持 docker 部署
-
高性能
duic 是采用 spring-webflux 開發(fā),能最大化利用機器的硬件資源,同時 duic 是直接將所有可用的配置直接加載在內(nèi)存中,在拉取配置時 直接從內(nèi)存中返回配置信息,對于數(shù)據(jù)庫沒有任何壓力
資源
-
java 版本客戶端程序
支持 java
支持 spring
-
duic-spring-cloud-config-client
spring-boot 配置客戶端程序
