DuiC分布式配置中心

联合创作 · 2023-10-01 07:07

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}

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

  • 按需获取配置

    你有时可能需要获取某个 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 是直接将所有可用的配置直接加载在内存中,在拉取配置时 直接从内存中返回配置信息,对于数据库没有任何压力

资源

文档

相关项目

  1. Spring Boot

  2. Spring WebFlux

  3. Vuetify

浏览 11
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报