All Projects → zhudyos → Duic

zhudyos / Duic

Licence: apache-2.0
分布式配置中心,集中化配置管理,应用配置权限管理,配置实时更新等功能

Programming Languages

kotlin
9241 projects

Projects that are alternatives of or similar to Duic

Genie
Distributed Big Data Orchestration Service
Stars: ✭ 1,544 (+434.26%)
Mutual labels:  configuration-management, spring-boot, configuration
Apollo
Apollo is a reliable configuration management system suitable for microservice configuration management scenarios.
Stars: ✭ 26,052 (+8914.53%)
Mutual labels:  configuration-management, spring-boot, configuration
climatecontrol
Python library for loading settings and config data from files and environment variables
Stars: ✭ 20 (-93.08%)
Mutual labels:  configuration, configuration-management
envkey-python
EnvKey's python library. Protect API keys and credentials. Keep configuration in sync.
Stars: ✭ 24 (-91.7%)
Mutual labels:  configuration, configuration-management
1config
A command line tool and a library to manage application secrets and configuration safely and effectively.
Stars: ✭ 24 (-91.7%)
Mutual labels:  configuration, configuration-management
superconfig
Access environment variables. Also includes presence validation, type coercion and default values.
Stars: ✭ 33 (-88.58%)
Mutual labels:  configuration, configuration-management
js-sdk
JavaScript frontend SDK for ConfigCat. ConfigCat is a hosted feature flag service: https://configcat.com. Manage feature toggles across frontend, backend, mobile, desktop apps. Alternative to LaunchDarkly. Management app + feature flag SDKs.
Stars: ✭ 21 (-92.73%)
Mutual labels:  configuration, configuration-management
envkey-node
EnvKey's official Node.js client library
Stars: ✭ 46 (-84.08%)
Mutual labels:  configuration, configuration-management
Simple Settings
A simple way to manage your project settings.
Stars: ✭ 165 (-42.91%)
Mutual labels:  configuration-management, configuration
puppet-augeasproviders
Alternative Augeas-based providers for Puppet
Stars: ✭ 64 (-77.85%)
Mutual labels:  configuration, configuration-management
dotfiles
My personal app/env configs and dotfiles.
Stars: ✭ 27 (-90.66%)
Mutual labels:  configuration, configuration-management
easy-props
The simple, stupid properties library for Java
Stars: ✭ 76 (-73.7%)
Mutual labels:  configuration, configuration-management
libconfini
Yet another INI parser
Stars: ✭ 106 (-63.32%)
Mutual labels:  configuration, configuration-management
sitri
Sitri - powerful settings & configs for python
Stars: ✭ 20 (-93.08%)
Mutual labels:  configuration, configuration-management
apollo.net
Apollo配置中心.Net客户端
Stars: ✭ 449 (+55.36%)
Mutual labels:  configuration, configuration-management
Microconfig
Modern tool for microservice configuration management
Stars: ✭ 180 (-37.72%)
Mutual labels:  configuration-management, configuration
CoSky
High-performance, low-cost microservice governance platform. Service Discovery and Configuration Service | 高性能、低成本微服务治理平台
Stars: ✭ 57 (-80.28%)
Mutual labels:  configuration, configuration-management
nest-typed-config
Intuitive, type-safe configuration module for Nest framework ✨
Stars: ✭ 47 (-83.74%)
Mutual labels:  configuration, configuration-management
Libelektra
Elektra serves as a universal and secure framework to access configuration parameters in a global, hierarchical key database.
Stars: ✭ 155 (-46.37%)
Mutual labels:  configuration-management, configuration
Apollo.net
Apollo配置中心.Net客户端
Stars: ✭ 165 (-42.91%)
Mutual labels:  configuration-management, configuration

✉️ [email protected]

image:https://img.shields.io/travis/zhudyos/duic.svg["Travis",link="https://travis-ci.org/zhudyos/duic"] image:https://img.shields.io/docker/pulls/zhudyos/duic.svg["Docker Pulls",link="https://hub.docker.com/r/zhudyos/duic/"] image:https://img.shields.io/github/license/zhudyos/duic.svg["GitHub license",link="https://github.com/zhudyos/duic/blob/master/LICENSE"]

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

= duic 配置中心

duic 是采用 kotlin 与 spring-webflux 开发的配置中心。通过 HTTP 的方式获取配置信息,可管理任何语言、应用的配置。设计目标是统一不同应用的配置管理方式,打造更人性化的配置编辑方式,提供更灵活的配置获取方式。

  • 支持 mongodb, mysql, postgresql 存储配置信息
  • 支持多配置合并
  • 支持按需获取配置
  • 支持用户权限控制
  • 支持 ip/token 访问限制
  • 支持分布式集群配置管理
  • 支持 docker

== 特性

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

在 web 控制台中你可以创建多个配置,相同应用不同环境的配置可以使用(profile)区分,同一个应用下多个(profile)配置可以合并 https://duic.zhudy.io/index.html[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 可以获取子项的所有配置 + [IMPORTANT]

  • 获取 k1 项的配置

request:: $ curl https://duic.zhudy.io/api/v1/apps/sample/first/k1 response:: +

{
  "string":"samples first k1 string",
  "int":11,
  "array":[
    1,
    2,
    3
  ],
  "multiple_lines":"sample\nfirst\nmultiple\nlines"
}
  • 获取 k1.string 项的配置

request:: $ curl https://duic.zhudy.io/api/v1/apps/sample/first/k1.string response:: +

{
  "value":"samples first k1 string"
}

====

  • 完美支持 spring-boot

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

  • 配置权限管理

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

  • 配置支持 IP 访问限制

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

  • 配置支持 TOKEN 校验

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

  • 支持 docker 部署

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

  • 部署简单

duic 部署非常简单,只依赖一个数据库存储配置数据,不依赖其它任何中间件,即可实现分布式集群部署

  • 高性能

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

== 资源

java 版本客户端程序:: ** 支持 java ** 支持 spring

spring-boot 配置客户端程序

== https://github.com/zhudyos/duic/wiki[文档]

== 已知用户 [TIP]

按登记顺序展示

如果你正在使用 duic,欢迎在 https://github.com/zhudyos/duic/issues/3[https://github.com/zhudyos/duic/issues/3] 登记。仅作为开源参考,不作其它用途

image::doc/images/know-users/2339.png[么么直播]

== 相关项目 . https://projects.spring.io/spring-boot/[Spring Boot] . https://docs.spring.io/spring/docs/current/spring-framework-reference/web-reactive.html[Spring WebFlux] . https://vuetifyjs.com[Vuetify]

== 感谢 image::doc/images/jetbrains-blackandwhite.png[JetBrains,100,100,link="https://www.jetbrains.com/?from=duic"]

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].