XXL-CONF
XXL-CONF 是一个分布式配置中心和注册中心。
-- 主页 --
简介
XXL-CONF 是一个分布式配置中心和注册中心,提供动态配置管理、服务注册和发现等核心功能,具有"轻量化、二级实时推送、多环境、跨语言、跨房间、权限控制"等特点。现在 开源 即可出厂使用。
XXL-CONF 是一个分布式配置中心和注册中心,提供动态配置管理、服务注册和发现等核心功能;具有“轻量级、秒级实时推送、多环境、跨语言、跨机房、权限控制”等特性。目前已开放源代码,即插即用。
文档
通信
特性
配置中心
- 1、简单易用:接入灵活方便,一分钟即可上手;
- 2、轻量级:仅依赖DB,无其他第三方依赖,搭建部署和接入简单,一分钟即可上手;
- 3、WebUI: 配置中心提供了线上化管理界面, 通过Web UI在线操作配置数据, 直观高效;
- 4、高可用/HA:配置中心支持集群部署,提升配置中心系统的容灾和可用性;
- 5、高性能:由于配置中心与客户端的本地缓存以及多级缓存设计,因此配置读取性能非常高;单机可承担高并发的配置读取;
- 6、实时性保障: 系统内部设计了广播机制,针对配置修改、增删等变更,支持以秒级的速度将变更配置推送到客户端;
- 7、一致性保障:设计了“启动预热+全量巡检+增量监听”相结合的一致性保障策略。启动阶段主动将全量远程配置初始化到本地,提供周期性配置比对巡检能力以及增量变更感知推动能力,确保配置数据的准确性和一致性。
- 8、动态热更新:配置数据变更后,客户端配置数据会实时动态更新并生效,无需重启服务机器;
- 9、容灾降级:客户端会定期将配置数据同步到本地配置快照文件,在极端情况下配置中心不可用时(如配置中心宕机),客户端会降级使用本地配置快照文件,保障系统可用性;
- 10、多种数据类型:支持多种数据类型配置,如:String、Boolean、Short、Integer、Long、Float、Double 等;
- 11、多种接入方式:支持通过 "API、注解、Listener" 等多种方式获取配置,可灵活选择使用;
- 12、配置变更监听:支持自定义Listener逻辑,监听配置变更事件,例如可基于此动态刷新JDBC连接池等高级功能;
- 13、多环境支持:支持自定义环境(命名空间),管理多个环境的配置数据;环境之间相互隔离;
- 14、跨语言/OpenAPI:提供无语言限制的配置中心 OpenAPI(RESTFUL 格式),提供拉取配置和实时感知配置变更能力,实现多语言支持;
- 15、跨机房:由于配置中心系统的设计,服务端采用无状态服务,集群各节点提供对等服务;因此在异地跨机房部署时,只需要请求本机房的配置中心即可,实现异地多活;
- 16、客户端断线重连强化:底层设计守护线程,周期性检测客户端连接、配置同步,提高异常情况下的配置稳定性和时效性;
- 17、空配置处理:主动缓存 null 或不存在的类型配置,避免配置请求穿透到远程配置服务器,引发崩溃问题;
- 18、访问令牌(AccessToken):为提升系统安全性,服务端和客户端进行安全性校验,双方的AccessToken匹配后才允许通讯;
- 19、用户管理:支持在线添加和维护用户,包括普通用户和管理员两种类型的用户,灵活控制系统权限;
- 20、配置权限控制;以项目为维度进行配置权限控制,管理员拥有全部项目权限,普通用户只有分配才拥有项目下配置的查看和管理权限;