关于java:XXLJOB-v230-发布-易用性增强

3次阅读

共计 3733 个字符,预计需要花费 10 分钟才能阅读完成。

v2.3.0 Release Notes

  • 1、【新增】调度过期策略:调度核心错过调度工夫的弥补解决策略,包含:疏忽、立刻弥补触发一次等;
  • 2、【新增】触发策略:除了惯例 Cron、API、父子工作触发形式外,新增提供 “ 固定距离触发、(固定延时触发,试验中)” 新触发形式;
  • 3、【新增】新增工作辅助工具 “XxlJobHelper”:提供对立工作辅助能力,包含:工作上下文信息保护获取(工作参数、工作 ID、分片参数)、日志输入、工作后果设置……等;

    • 3.1、”ShardingUtil” 组件废除:改用 “XxlJobHelper.getShardIndex()/getShardTotal();” 获取分片参数;
    • 3.2、”XxlJobLogger” 组件废除:改用 “XxlJobHelper.log” 进行日志输入;
  • 4、【优化】工作外围类 “IJobHandler” 的 “execute” 办法勾销出入参设计。改为通过 “XxlJobHelper.getJobParam” 获取工作参数并代替办法入参,通过 “XxlJobHelper.handleSuccess/handleFail” 设置工作后果并代替办法出参,示例代码如下;
@XxlJob("demoJobHandler")
public void execute() {String param = XxlJobHelper.getJobParam();    // 获取参数 
    XxlJobHelper.handleSuccess();                 // 设置工作后果}
  • 5、【优化】Cron 编辑器加强:Cron 编辑器批改 cron 时可实时查看最近运行工夫;
  • 6、【优化】执行器示例我的项目标准整顿;
  • 7、【优化】任务调度生命周期重构:调度(schedule)、触发 (trigger)、执行(handle)、回调 (callback)、完结(complete);
  • 8、【优化】执行器注册组件优化:注册逻辑调整为异步形式,进步注册性能;
  • 9、【优化】执行器鉴权校验:执行器启动时被动校验 accessToken,为空则被动 Warn 告警;(已布局平安强化:AccessToken 动静生成、动静启停等)
  • 10、【优化】邮箱告警配置优化:将 ”spring.mail.from” 与 ”spring.mail.username” 属性拆离开,更加灵便的反对一些无明码邮箱服务;
  • 11、【优化】多个我的项目依赖降级至较新稳固版本,如 netty、groovy、spring、springboot、mybatis 等;
  • 12、【优化】UI 组件惯例降级,晋升组件稳定性;
  • 13、【优化】调度核心页面交互优化:用户治理模块明码列勾销;多处表白 autocomplete 勾销;执行器治理模块 XSS 拦挡校验等;
  • 14、【优化】调度核心工作状态探测慢 SQL 问题优化;
  • 15、【修复】GLUE-Java 模式工作,init/destroy 无奈执行问题修复;
  • 16、【修复】Cron 编辑器问题修复:修复小概率状况下 cron 单个字段批改时导致其余字段被重置问题;
  • 17、【修复】通用 HTTP 工作 Handler(httpJobHandler)优化:修复 “setDoOutput(true)” 导致工作申请 GetMethod 生效问题;
  • 18、【修复】执行器 Commandhandler 示例工作优化,修复极其状况下脚本过程挂起问题;
  • 19、【修复】调度通信组件优化,修复 RestFul 形式调用 DotNet 版本执行器时心跳检测失败问题;
  • 20、【修复】调度核心近程执行日志查问乱码问题修复;
  • 21、【修复】调度核心组件加载程序优化,修复极其状况下调度组件初始慢导致的调度失败问题;
  • 22、【修复】执行器注册线程优化,修复极其状况下初始化失败时导致 NPE 问题;
  • 23、【修复】调度线程连接池优化,修复连贯有效性校验超时问题;
  • 24、【修复】执行器注册表字段优化,解决执行器注册节点过多导致注册信息存储和更新失败的问题;
  • 25、【修复】轮训路由策略优化,修复小概率下并发问题;
  • 26、【修复】页面 redirect 跳转后 https 变为 http 问题修复;
  • 27、【修复】执行器日志清理优化,修复小概率下日志文件为空导致清理异样问题;

简介

XXL-JOB 是一个轻量级分布式任务调度平台,其外围设计指标是开发迅速、学习简略、轻量级、易扩大。现已凋谢源代码并接入多家公司线上产品线,开箱即用。

个性

  • 1、简略:反对通过 Web 页面对工作进行 CRUD 操作,操作简略,一分钟上手;
  • 2、动静:反对动静批改工作状态、启动 / 进行工作,以及终止运行中工作,即时失效;
  • 3、调度核心 HA(核心式):调度采纳核心式设计,“调度核心”自研调度组件并反对集群部署,可保障调度核心 HA;
  • 4、执行器 HA(分布式):工作分布式执行,工作 ” 执行器 ” 反对集群部署,可保障工作执行 HA;
  • 5、注册核心: 执行器会周期性主动注册工作, 调度核心将会主动发现注册的工作并触发执行。同时,也反对手动录入执行器地址;
  • 6、弹性扩容缩容:一旦有新执行器机器上线或者下线,下次调度时将会重新分配工作;
  • 7、触发策略:提供丰盛的工作触发策略,包含:Cron 触发、固定距离触发、固定延时触发、API(事件)触发、人工触发、父子工作触发;
  • 8、调度过期策略:调度核心错过调度工夫的弥补解决策略,包含:疏忽、立刻弥补触发一次等;
  • 9、阻塞解决策略:调度过于密集执行器来不及解决时的解决策略,策略包含:单机串行(默认)、抛弃后续调度、笼罩之前调度;
  • 10、工作超时管制:反对自定义工作超时工夫,工作运行超时将会被动中断工作;
  • 11、工作失败重试:反对自定义工作失败重试次数,当工作失败时将会依照预设的失败重试次数被动进行重试;其中分片工作反对分片粒度的失败重试;
  • 12、工作失败告警;默认提供邮件形式失败告警,同时预留扩大接口,可不便的扩大短信、钉钉等告警形式;
  • 13、路由策略:执行器集群部署时提供丰盛的路由策略,包含:第一个、最初一个、轮询、随机、一致性 HASH、最不常常应用、最近最久未应用、故障转移、繁忙转移等;
  • 14、分片播送工作:执行器集群部署时,工作路由策略抉择 ” 分片播送 ” 状况下,一次任务调度将会播送触发集群中所有执行器执行一次工作,可依据分片参数开发分片工作;
  • 15、动静分片:分片播送工作以执行器为维度进行分片,反对动静扩容执行器集群从而动静减少分片数量,协同进行业务解决;在进行大数据量业务操作时可显著晋升工作解决能力和速度。
  • 16、故障转移:工作路由策略抉择 ” 故障转移 ” 状况下,如果执行器集群中某一台机器故障,将会主动 Failover 切换到一台失常的执行器发送调度申请。
  • 17、工作进度监控:反对实时监控工作进度;
  • 18、Rolling 实时日志:反对在线查看调度后果,并且反对以 Rolling 形式实时查看执行器输入的残缺的执行日志;
  • 19、GLUE:提供 Web IDE,反对在线开发工作逻辑代码,动静公布,实时编译失效,省略部署上线的过程。反对 30 个版本的历史版本回溯。
  • 20、脚本工作:反对以 GLUE 模式开发和运行脚本工作,包含 Shell、Python、NodeJS、PHP、PowerShell 等类型脚本;
  • 21、命令行工作:原生提供通用命令行工作 Handler(Bean 工作,”CommandJobHandler”);业务方只须要提供命令行即可;
  • 22、工作依赖:反对配置子工作依赖,当父工作执行完结且执行胜利后将会被动触发一次子工作的执行, 多个子工作用逗号分隔;
  • 23、一致性:“调度核心”通过 DB 锁保障集群散布式调度的一致性, 一次任务调度只会触发一次执行;
  • 24、自定义工作参数:反对在线配置调度工作入参,即时失效;
  • 25、调度线程池:调度零碎多线程触发调度运行,确保调度准确执行,不被梗塞;
  • 26、数据加密:调度核心和执行器之间的通信进行数据加密,晋升调度信息安全性;
  • 27、邮件报警:工作失败时反对邮件报警,反对配置多邮件地址群发报警邮件;
  • 28、推送 maven 地方仓库: 将会把最新稳定版推送到 maven 地方仓库, 不便用户接入和应用;
  • 29、运行报表:反对实时查看运行数据,如工作数量、调度次数、执行器数量等;以及调度报表,如调度日期分布图,调度胜利分布图等;
  • 30、全异步:任务调度流程全异步化设计实现,如异步调度、异步运行、异步回调等,无效对密集调度进行流量削峰,实践上反对任意时长工作的运行;
  • 31、跨语言:调度核心与执行器提供语言无关的 RESTful API 服务,第三方任意语言可据此对接调度核心或者实现执行器。除此之外,还提供了“多任务模式”和“httpJobHandler”等其余跨语言计划;
  • 32、国际化:调度核心反对国际化设置,提供中文、英文两种可选语言,默认为中文;
  • 33、容器化:提供官网 docker 镜像,并实时更新推送 dockerhub,进一步实现产品开箱即用;
  • 34、线程池隔离:调度线程池进行隔离拆分,慢工作主动降级进入 ”Slow” 线程池,防止耗尽调度线程,进步零碎稳定性;
  • 35、用户治理:反对在线管理系统用户,存在管理员、普通用户两种角色;
  • 36、权限管制:执行器维度进行权限管制,管理员领有全量权限,普通用户须要调配执行器权限后才容许相干操作;

文档地址

  • 中文文档

技术交换

  • 社区交换
正文完
 0