Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/xuxueli/xxl-conf

A lightweight distributed configuration management platform. (分布式配置管理平台XXL-CONF)
https://github.com/xuxueli/xxl-conf

config configuration distributed xxl-conf zookeeper

Last synced: 3 days ago
JSON representation

A lightweight distributed configuration management platform. (分布式配置管理平台XXL-CONF)

Awesome Lists containing this project

README

        



XXL-CONF



XXL-CONF, A lightweight distributed configuration management platform.


-- Home Page --






















## Introduction
XXL-CONF is a lightweight distributed configuration management platform,
with features such as "lightweight, second dynamic push, multi-environment, cross-language, cross-room deployment, configuration listening, permission control, version rollback".
Now, it's already open source, real "out-of-the-box".

XXL-CONF 是一个轻量级分布式配置管理平台,拥有"轻量级、秒级动态推送、多环境、跨语言、跨机房、配置监听、权限控制、版本回滚"等特性。现已开放源代码,开箱即用。

## Documentation
- [中文文档](https://www.xuxueli.com/xxl-conf/)

## Communication
- [社区交流](https://www.xuxueli.com/page/community.html)

## Features
- 1、简单易用: 接入灵活方便,一分钟上手;
- 2、轻量级: 部署简单,不依赖第三方服务,一分钟上手;
- 3、配置中心HA:配置中心支持集群部署,提升配置中心系统容灾和可用性。
- 4、在线管理: 提供配置中心, 通过Web界面在线操作配置数据,直观高效;
- 5、多环境支持:单个配置中心集群,支持自定义多套环境,管理多个环境的的配置数据;环境之间相互隔离;
- 6、多数据类型配置:支持多种数据类型配置,如:String、Boolean、Short、Integer、Long、Float、Double 等;
- 7、跨语言:底层通过http服务(long-polling)拉取配置数据并实时感知配置变更,从而实现多语言支持。
- 8、跨机房:得益于配置中心集群关系对等特性,集群各节点提供幂等的配置服务;因此,异地跨机房部署时,只需要请求本机房配置中心即可,实现异地多活;
- 9、高性能:得益于配置中心的 "磁盘配置" 与客户端的 "LocalCache",因此配置服务性能非常高;单机可承担大量配置请求;
- 10、实时性: 秒级动态推送;配置更新后, 实时推送配置信息, 项目中配置数据会实时更新并生效, 不需要重启线上机器;
- 11、配置变更监听功能:可开发Listener逻辑,监听配置变更事件,可据此动态刷新JDBC连接池等高级功能;
- 12、最终一致性:底层借助内置广播机制,保障配置数据的最终一致性,从而保证配置数据的同步;
- 13、配置备份: 配置数据同时在磁盘与MySQL中存储和备份,并定期同步, 提高配置数据的安全性;
- 14、多种获取配置方式:支持 "API、 注解、XML占位符" 等多种方式获取配置,可灵活选择使用;
- 15、兼容Spring原生配置:兼容Spring原生配置方式 "@Value"、"${}" 加载本地配置功能;与分布式配置获取方式隔离,互不干扰;
- 16、分布式: 支持多业务线接入并统一管理配置信息,支撑分布式业务场景;
- 17、项目隔离: 以项目为维度管理配置, 方便隔离不同业务线配置;
- 18、高性能: 通过LocalCache对配置数据做缓存, 提高性能;
- 19、客户端断线重连强化:设置守护线程,周期性检测客户端连接、配置同步,提高异常情况下配置稳定性和时效性;
- 20、空配置处理:主动缓存null或不存在类型配置,避免配置请求穿透到远程配置Server引发雪崩问题;
- 21、用户管理:支持在线添加和维护用户,包括普通用户和管理员两种类型用户;
- 22、配置权限控制;以项目为维度进行配置权限控制,管理员拥有全部项目权限,普通用户只有分配才拥有项目下配置的查看和管理权限;
- 23、历史版本回滚:记录配置变更历史,方便历史配置版本回溯,默认记录10个历史版本;
- 24、配置快照:客户端从配置中心获取到的配置数据后,会周期性缓存到本地快照文件中,当从配置中心获取配置失败时,将会使用使用本地快照文件中的配置数据;提高系统可用性;
- 25、访问令牌(accessToken):为提升系统安全性,配置中心和客户端进行安全性校验,双方AccessToken匹配才允许通讯;

## Development
于2015年,我在github上创建XXL-CONF项目仓库并提交第一个commit,随之进行系统结构设计,UI选型,交互设计……

至今,XXL-CONF已接入多家公司的线上产品线,接入场景如电商业务,O2O业务和核心中间件配置动态化等,截止2018-03-15为止,XXL-CONF已接入的公司包括不限于:

- 1、深圳市绽放工场科技有限公司
- 2、深圳双猴科技有限公司
- 3、商智神州软件有限公司
- 4、浙江力太科技
- ……

> 更多接入的公司,欢迎在 [登记地址](https://github.com/xuxueli/xxl-conf/issues/2 ) 登记,登记仅仅为了产品推广。

欢迎大家的关注和使用,XXL-CONF也将拥抱变化,持续发展。

## Contributing
Contributions are welcome! Open a pull request to fix a bug, or open an [Issue](https://github.com/xuxueli/xxl-conf/issues/) to discuss a new feature or change.

欢迎参与项目贡献!比如提交PR修复一个bug,或者新建 [Issue](https://github.com/xuxueli/xxl-conf/issues/) 讨论新特性或者变更。

## Copyright and License
This product is open source and free, and will continue to provide free community technical support. Individual or enterprise users are free to access and use.

- Licensed under the GNU General Public License (GPL) v3.
- Copyright (c) 2015-present, xuxueli.

产品开源免费,并且将持续提供免费的社区技术支持。个人或企业内部可自由的接入和使用。

## Donate
No matter how much the donation amount is enough to express your thought, thank you very much :) [To donate](https://www.xuxueli.com/page/donate.html )

无论捐赠金额多少都足够表达您这份心意,非常感谢 :) [前往捐赠](https://www.xuxueli.com/page/donate.html )