分布式配置管理平台XXL-CONF

XXL-CONF是一个分布式配置管理平台,具备强一致性、毫秒级动态推送等特性,支持多环境、多语言,提供配置中心,允许在线管理和技术交流,开放源代码,易于部署和接入。
摘要由CSDN通过智能技术生成

《分布式配置管理平台XXL-CONF》

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

输入图片说明

特性

  • 1、简单: 部署简单、接入灵活方便,一分钟上手;
  • 2、在线管理: 提供配置中心, 通过Web界面在线操作配置数据,直观高效;
  • 3、多环境支持:单个配置中心集群,支持自定义多套环境,管理多个环境的的配置数据;环境之间相互隔离;
  • 4、多数据类型配置:支持多种数据类型配置,如:String、Boolean、Short、Integer、Long、Float、Double 等;
  • 5、多语言支持(配置中心Agent服务):提供配置中心Agent服务,可据此通过Http(long-polling)获取配置数据并实时感知配置变更,从而实现多语言支持。
  • 6、配置变更监听功能:可开发Listener逻辑,监听配置变更事件,可据此动态刷新JDBC连接池等高级功能;
  • 7、毫秒级动态推送: 配置更新后, 实时推送配置信息, 项目中配置数据会实时更新并生效, 不需要重启线上机器;
  • 8、强一致性:保障配置数据的强一致性,提高配置时效性;
  • 9、配置中心HA:配置中心支持集群部署,提供系统可用性;
  • 10、推送服务HA: 配置服务基于ZK集群, 只要集群节点保证存活数量大于N/2N+1, 就可保证服务稳定, 避免单点风险;
  • 11、配置备份: 配置数据同时在ZK与MySQL中存储和备份, 提高配置数据的安全性;
  • 12、多种获取配置方式:支持 “API、 注解、XML占位符” 等多种方式获取配置,可灵活选择使用;
  • 13、兼容Spring原生配置:兼容Spring原生配置方式 “@Value”、”${}” 加载本地配置功能;与分布式配置获取方式隔离,互不干扰;
  • 14、分布式: 支持多业务线接入并统一管理配置信息,支撑分布式业务场景;
  • 15、项目隔离: 以项目为维度管理配置, 方便隔离不同业务线配置;
  • 16、高性能: 通过Ehcache对配置数据做Local Cache, 提高性能;
  • 17、客户端断线重连强化:设置守护线程,周期性检测客户端连接、配置同步,提高异常情况下配置稳定性和时效性;
  • 18、空配置处理:主动缓存null或不存在类型配置,避免配置请求穿透到远程配置Server引发雪崩问题;
  • 19、用户管理:支持在线添加和维护用户,包括普通用户和管理员两种类型用户;
  • 20、配置权限控制;以项目为维度进行配置权限控制,管理员拥有全部项目权限,普通用户只有分配才拥有项目下配置的查看和管理权限;
  • 21、历史版本回滚:记录配置变更历史,方便历史配置版本回溯,默认记录10个历史版本;
  • 22、配置同步:全量检测未同步配置项,使用DB中配置备份数据覆盖ZK中配置数据并推送更新;在配置中心异常恢复、新配置中心集群初始化等场景中十分有效。
  • 23、配置快照:客户端从配置中心获取到的配置数据后,会周期性缓存到本地快照文件中,当从配置中心获取配置失败时,将会使用使用本地快照文件中的配置数据;提高系统可用性;

背景

why not properties

常规项目开发过程中, 通常会将配置信息位于在项目resource目录下的properties文件文件中, 配置信息通常包括有: jdbc地址配置、redis地址配置、活动开关、阈值配置、黑白名单……等等。使用properties维护配置信息将会导致以下几个问题:

  • 1、需要手动修改properties文件;
  • 2、需要重新编译打包;
  • 3、需要重启线上服务器 (项目集群时,更加令人崩溃) ;
  • 4、配置生效不及时: 因为流程复杂, 新的配置生效需要经历比较长的时间才可以生效;
  • 5、不同环境上线包不一致: 例如JDBC连接, 不同环境需要差异化配置;

why XXL-CONF

  • 1、不需要 (手动修改properties文件) : 在配置中心提供的Web界面中, 定位到指定配置项, 输入新的配置的值, 点击更新按钮即可;
  • 2、不需要 (重新编译打包) : 配置更新后, 实时推送新配置信息至项目中, 不需要编译打包;
  • 3、不需要 (重启线上服务器) : 配置更新后, 实时推送新配置信息至项目中, 实时生效, 不需要重启线上机器; (在项目集群部署时, 将会节省大量的时间, 避免了集群机器一个一个的重启, 费时费力)
  • 4、配置生效 “非常及时” : 点击更新按钮, 新的配置信息将会即可推送到项目中, 瞬间生效, 非常及时。比如一些开关类型的配置, 配置变更后, 将会立刻推送至项目中并生效, 相对常规配置修改繁琐的流程, 及时性可谓天壤之别;
  • 5、不同环境 “同一个上线包” : 因为差异化的配置托管在配置中心, 因此一个上线包可以复用在生产、测试等各个运行环境, 提供能效;

文档地址

技术交流

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值