V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
xuxueli
V2EX  ›  程序员

XXL-CONF v1.4.2 发布,分布式配置管理平台(新增 “多环境、多语言” 等特性)

  •  
  •   xuxueli · 2018-05-31 08:44:38 +08:00 via Android · 1454 次点击
    这是一个创建于 2157 天前的主题,其中的信息可能已经有所发展或是发生改变。
    ### 版本 v1.4.2 新特性
    - 1、多环境支持:单个调度中心集群,支持自定义多套环境,管理多个环境的的配置数据;环境之间相互隔离;
    - 2、多数据类型配置:支持多种数据类型配置,如:String、Boolean、Short、Integer、Long、Float、Double 等;
    - 3、多语言支持:提供配置 Agent 服务,可据此通过 Http 获取配置数据,从而实现多语言支持。Agent 存在 Ehcache 缓存性能极高,并且支持集群横向扩展;
    - 4、新增 "Jfinal" 类型 Sample 项目;
    - 5、新增 "Nutz" 类型 Sample 项目;
    - 6、支持 ZK 鉴权信息配置;
    - 7、Local Cache 缓存长度扩充为 100000,采用 LRU 过期策略。
    - 8、配置数据强制编码 UTF-8,解决因操作系统编码格式不一致导致的配置乱码问题;
    - 9、XxlConf 与原生配置加载方式( "@Value"、"${...}" )兼容,相互隔离,互不影响;替代原 LocalConf 层;
    - 10、移除 Spring 强制依赖。在保持对 Spring 良好支持情况下,提高对非 Spring 环境的兼容性;
    - 11、容器组件初始化顺序调整,修复 @PostConstruct 无法识别问题;
    - 12、配置优化,移除冗余配置项;
    - 13、小概率情况下 BeanRefresh 重复刷新问题修复;
    - 14、升级 pom 依赖至较新版本,如 Spring、Zookeeper 等;


    ![输入图片说明]( https://raw.githubusercontent.com/xuxueli/xxl-conf/master/doc/images/img_jTID.jpg "在这里输入图片标题")

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

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


    ### 技术交流

    - http://www.xuxueli.com/page/community.html

    ### 官方文档

    - http://www.xuxueli.com/xxl-conf/
    4 条回复    2018-05-31 11:22:53 +08:00
    CoderEQ
        1
    CoderEQ  
       2018-05-31 08:55:37 +08:00 via Android
    顶顶顶,源创会很精彩的分享
    xuxueli
        2
    xuxueli  
    OP
       2018-05-31 09:07:59 +08:00 via Android
    @CoderEQ 哈哈,谢谢支持啊!
    源创会主要介绍一些概念和理论,对各个领域没有太深入。比如今天的这个配置中心,迭代 3 年期间还是遇到了一些坑的,有机会再深入探讨下。
    wysnylc
        3
    wysnylc  
       2018-05-31 10:45:04 +08:00
    我,徐志摩实名推荐
    作者还有 xxl-job(分布式调度平台),xxl-crawler(面向对象分布式爬虫)两者结合可以轻松搭建 java 爬虫站
    xuxueli
        4
    xuxueli  
    OP
       2018-05-31 11:22:53 +08:00
    @wysnylc 赞!
    通过 “ xxl-job ” + “ xxl-crawler ” 搭建爬虫站确实很方便。

    xxl-job 承担调度功能,支持实时监控调度轨迹。
    xxl-crawler 承担采集功能。xxl-crawler 不仅支持分布式采集,IP 代理,更是提供了一个免费的代理池代码实现。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   922 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 21:18 · PVG 05:18 · LAX 14:18 · JFK 17:18
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.