XXL-CONF v1.7.0 | 分布式服务管理平台(配置中心 & 注册中心)
Release Notes
- 1、【升级】XXL-CONF 升级重构,XXL-CONF 是 分布式服务管理平台,作为服务 配置中心 与 注册中心,提供 动态配置管理、服务注册与发现 等核心能力;降低中间件认知及运维成本;
- 2、【整合】XXL-CONF 整合XXL-RPC注册中心(xxl-rpc-admin)能力,提供轻量级服务动态注册及发现能力;
- 3、【重构】XXL-CONF 客户端代码重构,模块化设计实现,提升可扩展性与稳定性;
- 4、【优化】客户端配置监控逻辑优化,避免异常情况下重试请求太频繁;
- 5、【优化】服务端非法Key空值处理,主动进行Null值缓存,避免缓存穿透;
- 6、【优化】日志优化:仅变更日志保留为info级别,非核心日志调整为debug级别;
- 7、【优化】全量配置同步线程优化,对齐起始时间,避免集群节点数据不一致;
- 8、【修复】小概率情况下底层通讯乱码问题修复;
- 9、【升级】升级多项maven依赖至较新版本,如springboot等;
XXL- CONF 快速接入示例
代码参考github仓库 /test 目录: https://github.com/xuxueli/xxl-conf/tree/master/xxl-conf-samples
1、XXL- CONF搭建:一行命令启动配置中心&注册中心,一站式提供动态配置管理、服务注册及发现能力(下文只演示配置中心能力)。
2、XXL-CONF接入配置:与Spring无缝集成,也支持无框架接入。
@Bean public SpringXxlConfFactory xxlConfFactory() { SpringXxlConfFactory xxlConfFactory = new SpringXxlConfFactory(); xxlConfFactory.setAppname(appname); xxlConfFactory.setEnv(env); xxlConfFactory.setAddress(address); xxlConfFactory.setAccesstoken(accesstoken); return xxlConfFactory; }
经过上述2步,已完成全部配置工作。
3、客户端接入: 丰富配置获取方式,支持秒级&热更新
- 3.1、方式1: API方式(XxlConfHelper)
/** * API方式 * * - 参考 "IndexController" 中 "XxlConfHelper.get("key")" 即可; * - 用法:代码中直接调用API即可,API支持多数据类型,可快速获取各类型配置; * - 优点: * - API编程,灵活方便; * - 支持多数据类型 * - 配置从配置中心实时加载,且底层存在动态推动更新,实效性有保障; * - 底层存在配置LocalCache,且存在缓存击穿等防护,性能有保障; */ String paramByApi = XxlConfHelper.get("sample.key01", null);
- 3.2 方式2: 注解方式(@XxlConf)
/** * 注解方式 * * - 参考 "IndexController.paramByAnnotation" 属性配置; * - 用法:对象Field上加注解 ""@XxlConf";支持设置默认值、跨服务复用配置,以及设置是否动态刷新; * - 优点: * - 注解编程,简洁易用; * - 支持多数据类型 * - 配置从配置中心实时加载,且底层存在动态推动更新,实效性有保障; * - 注解属性自身承担数据存储职责,无外部请求逻辑,无性能风险; */ @XxlConf("sample.key02") public String paramByAnnotation;
- 3.3、方式3: 监听器方式(XxlConfListener)
/** * Listener / 监听器方式 * * - 参考 "IndexController" 中 "XxlConfHelper.addListener(...)" 即可; * - 用法:配置变更监听示例:可开发Listener逻辑,监听配置变更事件;可据此实现动态刷新 线程池、JDBC链接池 等高级功能; * - 优点: * - 监听器方式,扩展性更强; * - 支持多数据类型 * - 配置从配置中心实时加载,且底层存在动态推动更新,实效性有保障; */ XxlConfHelper.addListener("sample.key03", new XxlConfListener(){ @Override public void onChange(String appname, String key, String value) throws Exception { paramByListener = value; logger.info("XxlConfListener 配置变更事件通知:key={}, value={}", key, value); } });
简介
XXL-CONF 是一个 分布式服务管理平台,作为服务 配置中心 与 注册中心,提供 动态配置管理、服务注册与发现 等核心能力;拥有 “轻量级、秒级实时推送、多环境、跨语言、跨机房、权限控制” 等特性。现已开放源代码,开箱即用。
特性:配置中心
- 1、简单易用: 接入灵活方便,一分钟上手;
- 2、轻量级: 仅依赖DB无其他三方依赖,搭建部署及接入简单,一分钟上手;
- 3、高可用/HA:配置中心支持集群部署,提升配置中心系统容灾和可用性;
- 4、高性能:得益于配置中心与客户端的本地缓存以及多级缓存设计,因此配置读取性能非常高;单机可承担高并发配置读取;
- 5、实时性: 借助内部广播机制,新服务上线、下线等变更,可以在1s内推送给客户端;
- 6、线上化管理: 配置中心提供线上化管理界面, 通过Web UI在线操作配置数据,直观高效;
- 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或不存在类型配置,避免配置请求穿透到远程配置Server引发雪崩问题;
- 18、访问令牌(AccessToken):为提升系统安全性,服务端和客户端进行安全性校验,双方AccessToken匹配才允许通讯;
- 19、用户管理:支持在线添加和维护用户,包括普通用户和管理员两种类型用户,灵活管控系统权限;
- 20、配置权限控制;以项目为维度进行配置权限控制,管理员拥有全部项目权限,普通用户只有分配才拥有项目下配置的查看和管理权限;
- 21、历史版本回滚:配置变更后及时记录配置变更历史,支持历史配置版本对比及快速回溯;
- 22、配置快照:客户端从配置中心获取到的配置数据后,会周期性缓存到本地快照文件中,当从配置中心获取配置失败时,将会使用使用本地快照文件中的配置数据;提高系统可用性;
- 23、容器化:提供官方docker镜像,并实时更新推送dockerhub,进一步实现产品开箱即用;
特性:注册中心
- 1、简单易用: 接入灵活方便,一分钟上手;
- 2、轻量级: 仅依赖DB无其他三方依赖,搭建部署及接入简单,一分钟上手;
- 3、高可用/HA:注册中心支持集群部署,提升注册中心系统容灾和可用性;
- 4、高性能:得益于注册中心与客户端的本地缓存以及多级缓存设计,因此注册数据读取性能非常高;单机可承担高并发配置读取;
- 5、实时性: 借助内部广播机制,新服务上线、下线等变更,可以在1s内推送给客户端;
- 6、多环境支持:支持自定义环境(命名空间),管理多个环境的的服务注册数据;环境之间相互隔离;
- 7、跨语言/OpenAPI:提供语言无关的 注册中心 OpenAPI(RESTFUL 格式),提供服务 注册、注销、心跳、查询 等能力,实现多语言支持;
- 8、跨机房:得益于注册中心系统设计,服务端为无状态服务,集群各节点提供对等的服务;因此异地跨机房部署时,只需要请求本机房配置中心即可,实现异地多活;
- 9、多状态:服务内置多状态,支持丰富业务使用场景。正常状态=支持动态注册、发现,服务注册信息实时更新;锁定状态=人工维护注册信息,服务注册信息固定不变;禁用状态=禁止使用,服务注册信息固定为空;
- 10、访问令牌(AccessToken):为提升系统安全性,服务端和客户端进行安全性校验,双方AccessToken匹配才允许通讯;
- 11、用户管理:支持在线添加和维护用户,包括普通用户和管理员两种类型用户,灵活管控系统权限;
- 12、容器化:提供官方docker镜像,并实时更新推送dockerhub,进一步实现产品开箱即用;

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
XXL-RPC v1.9.0 | RPC 服务框架
Release Notes 1、【优化】服务底层代码重构优化,精简依赖、减少依赖包体; 2、【调整】内置注册中心XxlRpcRegister(xxl-rpc-admin)迁移,整合至XXL-CONF: XXL-CONF:一站式服务管理平台(配置中心、注册中心),提供 动态配置管理、服务注册及发现能力;降低中间件认知及运维成本。 Github:github.com/xuxueli/xxl… 官方文档:https://www.xuxueli.com/xxl-conf 3、【调整】服务注册中心逻辑调整,借助 XXL-CONF 的OpenApi 实现 动态服务注册与发现; 4、【优化】优化获取本地IP地址逻辑,调整了获取本地地址顺序; 5、【升级】多个项目依赖升级至较新稳定版本; XXL- RPC 快速接入示例 代码参考github仓库 /test 目录:github.com/xuxueli/xxl… 1、服务注册中心搭建:一行命令启动注册中心,一站式提供服务动态注册发现能力。 基于 XXL-CONF 搭建 “轻量级注册中心”:一行命令启动注册中心,一站式提供服务动态注册发现能力。 XXL-...
- 下一篇
微语 0.5.9 发布,开源在线客服系统
企业级多租户即时通讯解决方案 :::tip 微语仍处于早期的快速迭代阶段,文档可能落后于开发,导致功能描述可能不符,以最新发布的软件版本为准 ::: 语言 English 中文 介绍 企业IM 局域网即时通讯 企业成员管理 聊天记录监控 ... 全渠道客服 多渠道接入 人工客服 统计报表 ... 知识库 对接大模型LLM 自定义知识库 AI对话 ... 工单系统 工单管理 工单SLA管理 工单统计和报表 ... Docker 快速开始 克隆项目并启动docker compose容器 git clone https://gitee.com/270580156/weiyu.im.git && cd bytedesk/deploy/docker && docker compose -p bytedesk -f docker-compose.yaml up -d 停止容器 docker compose -p bytedesk -f docker-compose.yaml stop 演示 本地预览 线上预览 开源 SDK Project Descr...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS关闭SELinux安全模块
- CentOS7设置SWAP分区,小内存服务器的救世主
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Hadoop3单机部署,实现最简伪集群
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- Linux系统CentOS6、CentOS7手动修改IP地址
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程