XXL-CONF v2.2.0 | 分布式设备中间与注册中间

Release Notes 1、【升级】升级至 SpringBoot4;升级多项maven依赖至较新版本,如 springboot、spring、mybatis、xxl-sso 等; 2、【新增】容灾降级:客户端会周期性同步配置到本地快照文件(新增配置项设置本地文...

应用介绍

Release Notes

  • 1、【进级】进级至 SpringBoot4;进级多项maven依附至较新版本,如 springboot、spring、mybatis、xxl-sso 等;
  • 2、【新增】容灾降级:客户端会周期性同步设备到本地快照文件(新增设备项设置本地文件目次“xxl.conf.client.filepath”);在极端情况设备中间弗成用时(如设备中间宕机),客户端降级应用本地设备快照文件,保障体系可用性;
  • 3、【加强】一致性保障强化:强加扶植 “启动预热+全量巡检+增量监听” 相结合的一致性保障策略。启动阶段主动初始化全量长途设备至本地,供给周期性设备比对巡检才能以及增量变革感知推动才能,确保设备数据精确性与一致性。
  • 4、【新增】新增 Docker Compose 设备,支撑一键设备启动调剂中间集群;
  • 5、【优化】设备编辑器:进级为CodeMirror,晋升交互体验;
  • 6、【优化】设备Diff:支撑行维度比较设备数据变革,晋升设备安然及追溯效力;
  • 7、【重构】设备监听重构为异部队列处理机制,避免耗时监听逻辑影响体系机能;
  • 8、【优化】组件线程代码重构,晋升机能以及可保护性;
  • 9、【优化】增长主题皮肤选项并优化界面交互;
  • 10、【优化】操作体验优化:表格交互调剂为单行选中模式;禁用分页轮回;优化分页限制案牍;
  • 11、【优化】交互优化:仪表板统计信息展示完美;新增设备默认选中当前办事;
  • 12、【优化】重构项目依附治理,将依附版本同一到父级pom;

2、XXL-CONF接入设备:支撑与Spring无缝集成,也支撑无框架接入。

备注:

  • a、该版本新增支撑“启动预热”、“容灾降级”等新特点,客户端SDK依附须要一并进级;
  • b、该版本新增支撑设备变革Diff,相干日记表须要新增字段,须要履行如下SQL脚本
// 表变革SQL脚本:alter table xxl_conf_data_log    add old_value text not null comment '变革前,设备项Value';

XXL- CONF 接入示例

1、XXL-CONF快速安排: XXL-CONF支撑以 Docker Compose 方法快速安排并启动,参考如下步调。

// 1、下载 XXL-CONFgit clone --branch "$(curl -s https://api.github.com/repos/xuxueli/xxl-conf/releases/latest | jq -r .tag_name)" https://github.com/xuxueli/xxl-conf.git// 2、构建 XXL-CONFmvn clean package -Dmaven.test.skip=true// 3、启动 XXL-CONFMYSQL_PATH={自定义数据库持久化目次} docker compose up -d// 4、停止 XXL-CONFdocker compose down

XXL- CONF安排完成后可拜访查看如下控制台。一站式供给动态设备治理、办事注册及发明才能。

@Beanpublic SpringXxlConfBootstrap xxlConfBootstrap() {     SpringXxlConfBootstrap xxlConfBootstrap = new SpringXxlConfBootstrap();     xxlConfBootstrap.setAppname(appname);     xxlConfBootstrap.setEnv(env);     xxlConfBootstrap.setAddress(address);     xxlConfBootstrap.setAccesstoken(accesstoken);     xxlConfBootstrap.setFilepath(filepath);     return xxlConfBootstrap; }

经由上述2步,已完成全部设备工作。

3、XXL-CONF 营业应用接入: 此处只设备中间才能,支撑丰富设备获取方法,支撑秒级&热更新

  • 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 height="822" src="https://images.weserv.nl/?url=https://oscimg.oschina.net/oscnet/up-775c1be702d1172dc215000d274545bcf28.png" width="1200">

  • 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或不存在类型设备,避免设备请求穿透到长途设备Server激发雪崩问题;
  • 18、拜访令牌(AccessToken):为晋升体系安然性,办事端和客户端进行安然性校验,两边AccessToken匹配才许可通信;
  • 19、用户治理:支撑在线添加和保护用户,包含通俗用户和治理员两种类型用户,灵活管控体系权限;
  • 20、设备权限控制;以项目为维度进行设备权限控制,治理员拥有全部项目权限,通俗用户只有分派才拥有项面前目今设备的查看和治理权限;
  • 21、汗青版本回滚:设备变革后及时记录设备变革汗青,支撑汗青设备版本比较及快速回溯;
  • 22、容器化:供给官方docker镜像,并及时更新推送DockerHub,进一步实现产品开箱即用;

特点:注册中间

  • 1、简单易用: 接入灵活便利,一分钟上手;
  • 2、轻量级: 仅依附DB无其他三方依附,搭建安排及接入简单,一分钟上手;
  • 3、高可用/HA:注册中间支撑集群安排,晋升注册中间体系容灾和可用性;
  • 4、高机能:得益于注册中间与客户端的本地缓存以及多级缓存设计,是以注册数据读取机能异常高;单机可承担高并发设备读取;
  • 5、及时性: 借助内部广播机制,新办事上线、下线等变革,支撑秒级推送变革设备到客户端;
  • 6、多情况支撑:支撑自定义情况(定名空间),治理多个情况的的办事注册数据;情况之间互相隔离;
  • 7、跨说话/OpenAPI:供给说话无关的 注册中间 OpenAPI(RESTFUL 格局),供给办事 注册、刊出、心跳、查询 等才能,实现多说话支撑;
  • 8、跨机房:得益于注册中间体系设计,办事端为无状况办事,集群各节点供给对等的办事;是以异地跨机房安排时,只须要请求本机房设备中间即可,实现异地多活;
  • 9、多状况:办事内置多状况,支撑丰富营业应用处景。正常状况=支撑动态注册、发明,办事注册信息及时更新;锁定状况=人工保护注册信息,办事注册信息固定不变;禁用状况=禁止应用,办事注册信息固定为空;
  • 10、拜访令牌(AccessToken):为晋升体系安然性,办事端和客户端进行安然性校验,两边AccessToken匹配才许可通信;
  • 11、用户治理:支撑在线添加和保护用户,包含通俗用户和治理员两种类型用户,灵活管控体系权限;
  • 12、容器化:供给官方docker镜像,并及时更新推送dockerhub,进一步实现产品开箱即用;

点赞(0) 打赏

立即下载

相关下载

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部