内容简介:XXL-JOB 是一个轻量级分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。
v1.9.2 新特性
-
1、任务超时控制:新增任务属性 "任务超时时间",并支持自定义,任务运行超时将会主动中断任务;
-
2、任务失败重试次数:新增任务属性 "失败重试次数",并支持自定义,当任务失败时将会按照预设的失败重试次数主动进行重试;同时收敛废弃其他失败重试策略,如调度失败、执行失败、状态码失败等;
-
3、新增任务运行模式 "GLUE 模式(PHP) ",支持 php 脚本任务;
-
4、新增任务运行模式 "GLUE 模式(PowerShell) ",支持 PowerShell 脚本任务;
-
5、调度全异步处理:任务触发之后,推送到调度队列,多线程并发处理调度请求,提高任务调度速率的同时,避免因网络问题导致 quartz 调度线程阻塞的问题;
-
6、执行器任务结果落盘优化:执行器回调失败时将任务结果写磁盘,待重启或网络恢复时重试回调任务结果,防止任务执行结果丢失;
-
7、任务日志查询速度大幅提升:百万级别数据量搜索速度提升 1000 倍;
-
8、调度中心提供 API 服务,支持通过 API 服务对任务进行查询、新增、更新、启停等操作;
-
9、底层自研 Log 组件参数占位符改为"{}",并修复打印有参日志时参数不匹配导致报错的问题;
-
10、任务回调结果优化,支持展示在 Rolling log 中,方便问题排查;
-
11、底层 LocalCache 组件兼容性优化,支持 jdk9、jdk10 及以上版本编译部署;
-
12、告警邮件固定使用 UTF-8 编码格式,修复由机器编码导致的邮件乱码问题;
-
13、告警邮件中展示失败告警信息;
-
14、告警邮箱支持 SSL 配置;
-
15、Window 机器下 File.separator 不兼容问题修复;
-
16、脚本任务异常 Log 输出优化;
-
17、任务线程停止变量修饰符优化;
-
18、脚本任务 Log 文件流关闭优化;
-
19、任务报表成功、失败和进行中统计问题修复;
-
20、核心依赖 Core 内部国际化处理;
-
21、默认 Quartz 线程数调整为 50 ;
-
22、新增左侧菜单"运行报表";
-
23、执行器手动设置 IP 时取消绑定 Host 的操作,该 IP 仅供执行器注册使用;修复指定外网 IP 时无法绑定执行器 Host 的问题;
-
24、取消父子任务不可重复的限制,支持循环任务触发等特殊场景;
-
25、任务调度备注中标注任务触发类型,如 Cron 触发、父任务触发、API 触发等等,方便排查调度日志;
-
26、底层日志组件 SimpleDateFormat 线程安全问题修复;
-
27、执行器通讯线程优化,corePoolSize 从 256 降低至 32 ;
-
28、任务日志表状态字段类型优化;
-
29、GLUE 脚本文件自动清理功能,及时清理过期脚本文件;
-
30、执行器注册方式切换优化,切换自动注册时主动同步在线机器,避免执行器为空的问题;
-
31、跨平台:除了提供 Java 、 Python 、PHP 等十来种任务模式之外,新增提供基于 HTTP 的任务模式;
-
32、底层 RPC 序列化协议调整为 hessian2 ;
-
33、修复表字段 “ t.order ”与数据库关键字冲突查询失败的问题,
-
34、任务属性枚举 "任务模式、阻塞策略" 国际化优化;
-
35、分片任务失败重试优化,仅重试当前失败的分片;
-
36、任务触发时支持动态传参,调度中心与 API 服务均提供提供动态参数功能;
-
37、任务执行日志、调度日志字段类型调整,改为 text 类型并取消字数限制;
-
38、GLUE 任务脚本字段类型调整,改为 mediumtext 类型,提高 GLUE 长度上限;
-
39、任务监控线程 Log 输出优化,运行中任务的监控 Log 改为 debug 级别,减少非核心日志量;
-
40、项目依赖全量升级至较新稳定版本,如 spring、Jackson、groovy 等等;
-
41、 docker 支持:调度中心提供 Dockerfile 方便快速构建 docker 镜像;
《分布式任务调度平台 XXL-JOB 》
1.1 概述
XXL-JOB 是一个轻量级分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。
1.2 特性
-
1、简单:支持通过 Web 页面对任务进行 CRUD 操作,操作简单,一分钟上手;
-
2、动态:支持动态修改任务状态、暂停 /恢复任务,以及终止运行中任务,即时生效;
-
3、调度中心 HA (中心式):调度采用中心式设计,“调度中心”基于集群 Quartz 实现并支持集群部署,可保证调度中心 HA ;
-
4、执行器 HA (分布式):任务分布式执行,任务"执行器"支持集群部署,可保证任务执行 HA ;
-
5、注册中心: 执行器会周期性自动注册任务, 调度中心将会自动发现注册的任务并触发执行。同时,也支持手动录入执行器地址;
-
6、弹性扩容缩容:一旦有新执行器机器上线或者下线,下次调度时将会重新分配任务;
-
7、路由策略:执行器集群部署时提供丰富的路由策略,包括:第一个、最后一个、轮询、随机、一致性 HASH、最不经常使用、最近最久未使用、故障转移、忙碌转移等;
-
8、故障转移:任务路由策略选择"故障转移"情况下,如果执行器集群中某一台机器故障,将会自动 Failover 切换到一台正常的执行器发送调度请求。
-
9、阻塞处理策略:调度过于密集执行器来不及处理时的处理策略,策略包括:单机串行(默认)、丢弃后续调度、覆盖之前调度;
-
10、任务超时控制:支持自定义任务超时时间,任务运行超时将会主动中断任务;
-
11、任务失败重试:支持自定义任务失败重试次数,当任务失败时将会按照预设的失败重试次数主动进行重试;其中分片任务支持分片粒度的失败重试;
-
12、任务失败告警;默认提供邮件方式失败告警,同时预留扩展接口,可方面的扩展短信、钉钉等告警方式;
-
13、分片广播任务:执行器集群部署时,任务路由策略选择"分片广播"情况下,一次任务调度将会广播触发集群中所有执行器执行一次任务,可根据分片参数开发分片任务;
-
14、动态分片:分片广播任务以执行器为维度进行分片,支持动态扩容执行器集群从而动态增加分片数量,协同进行业务处理;在进行大数据量业务操作时可显著提升任务处理能力和速度。
-
15、事件触发:除了"Cron 方式"和"任务依赖方式"触发任务执行之外,支持基于事件的触发任务方式。调度中心提供触发任务单次执行的 API 服务,可根据业务事件灵活触发。
-
16、任务进度监控:支持实时监控任务进度;
-
17、Rolling 实时日志:支持在线查看调度结果,并且支持以 Rolling 方式实时查看执行器输出的完整的执行日志;
-
18、GLUE:提供 Web IDE,支持在线开发任务逻辑代码,动态发布,实时编译生效,省略部署上线的过程。支持 30 个版本的历史版本回溯。
-
19、脚本任务:支持以 GLUE 模式开发和运行脚本任务,包括 Shell 、Python、NodeJS、PHP、PowerShell 等类型脚本;
-
20、任务依赖:支持配置子任务依赖,当父任务执行结束且执行成功后将会主动触发一次子任务的执行, 多个子任务用逗号分隔;
-
21、一致性:"调度中心"通过 DB 锁保证集群分布式调度的一致性, 一次任务调度只会触发一次执行;
-
22、自定义任务参数:支持在线配置调度任务入参,即时生效;
-
23、调度线程池:调度系统多线程触发调度运行,确保调度精确执行,不被堵塞;
-
24、数据加密:调度中心和执行器之间的通讯进行数据加密,提升调度信息安全性;
-
25、邮件报警:任务失败时支持邮件报警,支持配置多邮件地址群发报警邮件;
-
26、推送 maven 中央仓库: 将会把最新稳定版推送到 maven 中央仓库, 方便用户接入和使用;
-
27、运行报表:支持实时查看运行数据,如任务数量、调度次数、执行器数量等;以及调度报表,如调度日期分布图,调度成功分布图等;
-
28、全异步:任务调度流程全异步化设计实现,如异步调度、异步运行、异步回调等,有效对密集调度进行流量削峰,理论上支持任意时长任务的运行;
-
29、跨平台:原生提供通用 HTTP 任务 Handler ( Bean 任务,"httpJobHandler");业务方只需要提供 HTTP 链接即可,不限制语言、平台;
-
30、国际化:调度中心支持国际化设置,提供中文、英文两种可选语言,默认为中文;
文档地址
技术交流
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- FESCAR:阿里重磅开源分布式事务解决方案
- 腾讯重磅开源分布式 NoSQL 存储系统 DCache
- 重磅!开源分布式 NewSQL 数据库 TiDB 2.0 正式发布
- NutzWk 5.2.0 重磅发布,Java 微服务分布式开发框架
- 重磅更新 开源分布式 NewSQL 数据库 TiDB 1.0 正式发布
- 重磅! 分布式数据库中间件Sharding-JDBC 2.0.0正式发布
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Learning JavaScript
Shelley Powers / Oreilly & Associates Inc / 2006-10-17 / $29.99
As web browsers have become more capable and standards compliant, JavaScript has grown in prominence. JavaScript lets designers add sparkle and life to web pages, while more complex JavaScript has led......一起来看看 《Learning JavaScript》 这本书的介绍吧!