分布配置工具包:Config Toolkit

wdey 6年前

Config Toolkit 是大型集群和分布式应用配置工具包。Config toolkit 用于简化从本地配置文件到 zookeeper 的迁移。

在大型集群和分布式应用中,配置不宜分散到集群结点中,应该集中管理.


依赖

  • JAVA 7+

  • TOMCAT 7+ for ConfigWeb

模块

  • Config Toolkit - 封装应用属性配置的获取及更新

  • ConfigWeb - 提供web界面维护属性配置,提供配置导入导出功能

特性

  • 集中管理集群配置

  • 实现配置热更新

  • 多配置源支持,内置支持zookeeper、本地文件、http协议

  • Spring集成

  • 本地配置覆盖

  • 配置管理web界面

  • 版本控制,支持灰度发布

  • 支持为配置项添加注释

Quick Start

load properties from zookeeper

ZookeeperConfigProfile configProfile = new ZookeeperConfigProfile("zoo.host1:8181", "/projectx/modulex", "1.0.0");      GeneralConfigGroup propertyGroup1 = new ZookeeperConfigGroup(configProfile, "property-group1");

load properties from classpath file

FileConfigProfile configProfile = new FileConfigProfile("UTF8", "properties");      ConfigGroup configGroup = new FileConfigGroup(configProfile, "classpath:property-group1.properties");

load xml properties from classpath file

FileConfigProfile configProfile = new FileConfigProfile("UTF8", "xml");      ConfigGroup configGroup = new FileConfigGroup(configProfile, "classpath:property-group1.xml");

load properties from file

FileConfigProfile configProfile = new FileConfigProfile("UTF8", "properties");      ConfigGroup configGroup = new FileConfigGroup(configProfile, "file:/Users/yuxuanwang/Work/git/config-toolkit/config-toolkit-demo/src/main/resources/property-group1.properties");

load properties from http

FileConfigProfile configProfile = new FileConfigProfile("UTF8", "properties");      ConfigGroup configGroup = new FileConfigGroup(configProfile, "http://crnlmchina.github.io/config-group.properties");

项目主页:http://www.open-open.com/lib/view/home/1432472637684