网站首页 > 开源技术 正文
2019年7月7日,国内开源调度框架xxl-job发布最新v2.1.0版本,该版本在底层调度框架上移除对quartz依赖,可谓是一次非常大的版本更新。
v2.1.0更新说明
- 自研调度组件,移除quartz依赖:一方面是为了精简系统降低冗余依赖,另一方面是为了提供系统的可控度与稳定性;
- 触发:单节点周期性触发,运行事件如delayqueue;
- 调度:集群竞争,负载方式协同处理,锁竞争-更新触发信息-推送时间轮-锁释放-锁竞争;
- 底层表结构重构:移除11张quartz相关表,并对现有表结构优化梳理;
- 任务日志主键调整为long数据类型,防止海量日志情况下数据溢出;
- 底层线程模型重构:移除Quartz线程池,降低系统线程与内存开销;
- 用户管理:支持在线管理系统用户,存在管理员、普通用户两种角色;
- 权限管理:执行器维度进行权限控制,管理员拥有全量权限,普通用户需要分配执行器权限后才允许相关操作;
- 调度线程池参数调优;
- 注册表索引优化,缓解锁表问题;
- 新增Jboot执行器Sample示例项目;
- 任务列表优化,支持根据 "任务状态"、"负责人" 属性筛选任务;
- 任务日志列表交互优化,操作按钮合并为分割按钮;
- 项目依赖升级至较新稳定版本,如spring、springboot、groovy、xxl-rpc等等;并清理冗余POM;
- 升级xxl-rpc至较新版本,修复代理服务初始化时远程服务不可用导致长连冗余创建的问题;
- 首页调度报表的日期排序在TIDB下乱序问题修复;
- 调度中心与执行器双向通讯超时时间调整为3s;
- 调度组件销毁流程优化,先停止调度线程,然后等待时间轮内存量任务处理完成,最终销毁时间轮线程;
- 执行器回调线程优化,回调地址为空时销毁问题修复;
- HttpJobHandler优化,响应数据指定UTF-8格式,避免中文乱码;
- 代码优化,ConcurrentHashMap变量类型改为ConcurrentMap,避免因不同版本实现不同导致的兼容性问题;
低版本升级 v2.1.0 核心操作步骤
1、使用 v2.1.0 版本建表SQL,初始化一套新底层数据库;
2、针对新数据库中几张新表做数据迁移,相关表迁移方案如下:
- xxl_job_lock:新表,无需迁移;
- xxl_job_group:从历史表 “XXL_JOB_QRTZ_TRIGGER_GROUP” 中迁移,两张表结构一致;
- xxl_job_info:从 历史表 “XXL_JOB_QRTZ_TRIGGER_INFO” 中迁移,两张表结构基本一致,新表新增了个别字段,需要对比添加;
- xxl_job_log:从历史表 “XXL_JOB_QRTZ_TRIGGER_LOG” 中迁移,两张表结构一致;
- xxl_job_logglue:从历史表 “XXL_JOB_QRTZ_TRIGGER_LOGGLUE” 中迁移,两张表结构一致;
- xxl_job_registry:从历史表 “XXL_JOB_QRTZ_TRIGGER_REGISTRY” 中迁移,两张表结构一致;
- xxl_job_user:新表,无需迁移;
3、升级调度中心:编译部署新版调度中心即可;
4、升级执行器依赖:执行器项目升级执行器依赖版本,重新部署即可。
猜你喜欢
- 2024-09-28 Spring Boot | Spring Boot整合XXL-JOB开发定时任务
- 2024-09-28 springboot整合xxl-job分布式定时任务
- 2024-09-28 XXL-JOB 针对未授权访问导致远程命令执行漏洞的声明
- 2024-09-28 微服务调度中心升级xxl-job及xxl-job改造(二)
- 2024-09-28 XXL-Job 适配 Postgre 数据库的完整流程
- 2024-09-28 定时任务框架选型Quartz/Xxl-Job(较大多层框架结构基础选型技术经济分析)
- 2024-09-28 记一次 xxl-job 实战(记一次运动会作文600字六年级点面结合)
- 2024-09-28 项目基础部署汇总八---linux下xxl-job安装
- 2024-09-28 SpringBoot基础教程3-1-4 xxl-job快速整合
- 2024-09-28 简单易懂,分布式任务调度平台XXL-JOB快速搭建
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)