DuiC - 分布式配置中心


Apache-2.0
跨平台
Kotlin

软件简介

duic 分布式配置中心

duic 配置中心的设计目标是统一不同应用的配置管理方式,打造更人性化的配置编辑方式,提供更灵活的配置获取方式

 ______              _    ______
|_   _ `.           (_) .' ___  |
  | | `. \ __   _   __ / .'   \_|
  | |  | |[  | | | [  || |
 _| |_.' / | \_/ |, | |\ `.___.'\
|______.'  '.__.'_/[___]`.____ .'

简介

duic 是采用 spring-webflux 开发,通过 RESTful 方式拉取配置,支持配置合并,内置 web 控制台修改配置,
支持配置用户权限设置,支持配置访问 IP 限制,支持 Token 限制,支持多应用多环境变量,支持 docker,支持集群。

特性

  • 集中配置管理, 多应用多环境配置

在 web 控制台中你可以创建多个配置,相同应用不同环境的配置可以使用( profile )区分,同一个应用下多个( profile
)配置可以合并 https://duic.zhudy.io/index.html

  • 配置数据类型/数据格式

duic 采用 yaml 文件格式管理配置,天生支持数据类型及数据格式

  • HTTP 方式拉取配置

duic 采用 HTTP 的方式拉取配置,所以你可以在任何应用中使用 duic 配置管理

  • 配置状态检查

支持配置状态检查,如果配置发生变动该状态也会相应变化,使用方可根据状态的变化重载配置

    GET {base_uri}/apps/states/{name}/{profiles}
  • 多配置合并

相同应用( name )下的多个配置( profile )可以合并配置,相同 key 的配置将以深度合并的方式返回

    GET {base_uri}/apps/{name}/{profile},{profile2},{profile3}

合并方式按照请求 URLprofile 顺序,后者覆盖前者

  • 按需获取配置

你有时可能需要获取某个 key 的配置而不是整个 profile 的配置

    GET {base_uri}/apps/{name}/{profile}/{key}

key 支持按 . 分隔, key 可以获取子项的所有配置

  • 完美支持 spring-boot

duic 不仅可以管理你的业务配置,同时还可以管理 spring-boot 自身的任何配置,你可以像在 application.yaml
文件中编辑配置一样的编辑它, 同时我们还提供了 duic-spring-cloud-config-
client
,该库支持
@ConfigurationProperties``@Value 注解,同时还支持配置热加载

  • 配置权限管理

支持配置权限管理,用户只可以修改自身拥有权限的配置

  • 配置支持 IP 访问限制

每个 profile 的配置都可以设置 IP 访问控制,不在访问限制内的 IP 将无法获取配置信息

  • 配置支持 TOKEN 校验

访问有 TOKEN 校验的配置必须在请求中带上 TOKEN,TOKEN 校验失败将无法获取配置信息

  • 支持 docker 部署

https://hub.docker.com/r/zhudyos/duic

  • 高性能

duic 是采用 spring-webflux 开发,能最大化利用机器的硬件资源,同时 duic 是直接将所有可用的配置直接加载在内存中,在拉取配置时
直接从内存中返回配置信息,对于数据库没有任何压力

资源

java 版本客户端程序

* 支持 java

* 支持 spring

spring-boot 配置客户端程序

文档

相关项目

  1. Spring Boot

  2. Spring WebFlux

  3. Vuetify