XXL-JOB v2.0.0 发布,分布式任务调度平台

栏目: IT资讯 · 发布时间: 6年前

内容简介:v2.0.0 Release Notes 1、调度中心迁移到 springboot ; 2、底层通讯组件迁移至 xxl-rpc ; 3、容器化:提供官方 docker 镜像,并实时更新推送 dockerhub ( docker pull xuxueli/xxl-job-admin ),进一步实现产...

v2.0.0 Release Notes

  • 1、调度中心迁移到 springboot ;

  • 2、底层通讯组件迁移至 xxl-rpc ;

  • 3、容器化:提供官方 docker 镜像,并实时更新推送 dockerhub ( docker pull xuxueli/xxl-job-admin ),进一步实现产品开箱即用;

  • 4、新增无框架执行器 Sample 示例项目 "xxl-job-executor-sample-frameless"。不依赖第三方框架,只需 main 方法即可启动运行执行器;

  • 5、命令行任务:原生提供通用命令行任务 Handler ( Bean 任务,"CommandJobHandler");业务方只需要提供命令行即可;

  • 6、任务状态优化,仅运行状态"NORMAL"任务关联至 quartz,降低 quartz 底层数据存储与调度压力;

  • 7、任务状态规范:新增任务默认停止状态,任务更新时保持任务状态不变;

  • 8、IP 获取逻辑优化,优先遍历网卡来获取可用 IP ;

  • 9、任务新增的 API 服务接口返回任务 ID,方便调用方实用;

  • 10、组件化优化,移除对 spring 的依赖:非 spring 应用选用 "XxlJobExecutor" 、spring 应用选用 "XxlJobSpringExecutor" 作为执行器组件;

  • 11、任务 RollingLog 展示逻辑优化,修复超时任务无法查看的问题;

  • 12、多项 UI 组件升级到最新版本,如:CodeMirror、Echarts、Jquery 等;

  • 13、项目依赖升级 groovy 至较新稳定版本; pom 清理;

  • 14、子任务失败重试重试逻辑优化,子任务失败时将会按照其预设的失败重试次数主动进行重试

简介

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

XXL-JOB v2.0.0 发布,分布式任务调度平台

特性

  • 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 模式开发和运行脚本任务,包括 ShellPython 、NodeJS、 PHP 、PowerShell 等类型脚本;

  • 20、命令行任务:原生提供通用命令行任务 Handler ( Bean 任务,"CommandJobHandler");业务方只需要提供命令行即可;

  • 21、任务依赖:支持配置子任务依赖,当父任务执行结束且执行成功后将会主动触发一次子任务的执行, 多个子任务用逗号分隔;

  • 22、一致性:“调度中心”通过 DB 锁保证集群分布式调度的一致性, 一次任务调度只会触发一次执行;

  • 23、自定义任务参数:支持在线配置调度任务入参,即时生效;

  • 24、调度线程池:调度系统多线程触发调度运行,确保调度精确执行,不被堵塞;

  • 25、数据加密:调度中心和执行器之间的通讯进行数据加密,提升调度信息安全性;

  • 26、邮件报警:任务失败时支持邮件报警,支持配置多邮件地址群发报警邮件;

  • 27、推送 maven 中央仓库: 将会把最新稳定版推送到 maven 中央仓库, 方便用户接入和使用;

  • 28、运行报表:支持实时查看运行数据,如任务数量、调度次数、执行器数量等;以及调度报表,如调度日期分布图,调度成功分布图等;

  • 29、全异步:任务调度流程全异步化设计实现,如异步调度、异步运行、异步回调等,有效对密集调度进行流量削峰,理论上支持任意时长任务的运行;

  • 30、跨平台:原生提供通用 HTTP 任务 Handler ( Bean 任务,"HttpJobHandler");业务方只需要提供 HTTP 链接即可,不限制语言、平台;

  • 31、国际化:调度中心支持国际化设置,提供中文、英文两种可选语言,默认为中文;

  • 32、容器化:提供官方 docker 镜像,并实时更新推送 dockerhub,进一步实现产品开箱即用;

文档地址

技术交流


【声明】文章转载自:开源中国社区 [http://www.oschina.net]


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

The Mechanics of Web Handling

The Mechanics of Web Handling

David R. Roisum

This unique book covers many aspects of web handling for manufacturing, converting, and printing. The book is applicable to any web including paper, film, foil, nonwovens, and textiles. The Mech......一起来看看 《The Mechanics of Web Handling》 这本书的介绍吧!

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

MD5 加密
MD5 加密

MD5 加密工具

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具