分布式任务调度平台 xxl-job

xxl-job 分布式任务调度平台

GPLv3
Java 查看源码»
跨平台
2015-12-07
许雪里

分布式任务调度平台 XXL-JOB

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

输入图片说明

特性

  • 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、命令行任务:原生提供通用命令行任务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,进一步实现产品开箱即用;

发展

于2015年中,我在github上创建XXL-JOB项目仓库并提交第一个commit,随之进行系统结构设计,UI选型,交互设计……

于2015-11月,XXL-JOB终于RELEASE了第一个大版本V1.0, 随后我将之发布到OSCHINA,XXL-JOB在OSCHINA上获得了@红薯的热门推荐,同期分别达到了OSCHINA的“热门动弹”排行第一和git.oschina的开源软件月热度排行第一,在此特别感谢红薯,感谢大家的关注和支持。

于2015-12月,我将XXL-JOB发表到我司内部知识库,并且得到内部同事认可。

于2016-01月,我司展开XXL-JOB的内部接入和定制工作,在此感谢袁某和尹某两位同事的贡献,同时也感谢内部其他给与关注与支持的同事。

于2017-05-13,在上海举办的 "第62期开源中国源创会" 的 "放码过来" 环节,我登台对XXL-JOB做了演讲,台下五百位在场观众反响热烈(图文回顾 )。

于2017-10-22,又拍云 Open Talk 联合 Spring Cloud 中国社区举办的 "进击的微服务实战派上海站",我登台对XXL-JOB做了演讲,现场观众反响热烈并在会后与XXL-JOB用户热烈讨论交流。

于2017-12-11,XXL-JOB有幸参会《InfoQ ArchSummit全球架构师峰会》,并被拍拍贷架构总监"杨波老师"在专题 "微服务原理、基础架构和开源实践" 中现场介绍。

于2017-12-18,XXL-JOB参与"2017年度最受欢迎中国开源软件"评比,在当时已录入的约九千个国产开源项目中角逐,最终进入了前30强。

于2018-01-15,XXL-JOB参与"2017码云最火开源项目"评比,在当时已录入的约六千五百个码云项目中角逐,最终进去了前20强。

于2018-04-14,iTechPlus在上海举办的 "2018互联网开发者大会",我登台对XXL-JOB做了演讲,现场观众反响热烈并在会后与XXL-JOB用户热烈讨论交流。

于2018-05-27,在上海举办的 "第75期开源中国源创会" 的 "架构" 主题专场,我登台进行“基础架构与中间件图谱”主题演讲,台下上千位在场观众反响热烈(图文回顾 )。

我司大众点评目前已接入XXL-JOB,内部别名《Ferrari》(Ferrari基于XXL-JOB的V1.1版本定制而成,新接入应用推荐升级最新版本)。 据最新统计, 自2016-01-21接入至2017-12-01期间,该系统已调度约100万次,表现优异。新接入应用推荐使用最新版本,因为经过数十个版本的更新,系统的任务模型、UI交互模型以及底层调度通讯模型都有了较大的优化和提升,核心功能更加稳定高效。

至今,XXL-JOB已接入多家公司的线上产品线,接入场景如电商业务,O2O业务和大数据作业等,截止最新统计时间为止,XXL-JOB已接入的公司包括不限于:

- 1、大众点评;
- 2、山东学而网络科技有限公司;
- 3、安徽慧通互联科技有限公司;
- 4、人人聚财金服;
- 5、上海棠棣信息科技股份有限公司
- 6、运满满
- 7、米其林 (中国区)
- 8、妈妈联盟
- 9、九樱天下(北京)信息技术有限公司
- 10、万普拉斯科技有限公司(一加手机)
- 11、上海亿保健康管理有限公司
- 12、海尔馨厨 (海尔)
- 13、河南大红包电子商务有限公司
- 14、成都顺点科技有限公司
- 15、深圳市怡亚通
- 16、深圳麦亚信科技股份有限公司
- 17、上海博莹科技信息技术有限公司
- 18、中国平安科技有限公司
- 19、杭州知时信息科技有限公司
- 20、博莹科技(上海)有限公司
- 21、成都依能股份有限责任公司
- 22、湖南高阳通联信息技术有限公司
- 23、深圳市邦德文化发展有限公司
- 24、福建阿思可网络教育有限公司
- 25、优信二手车
- 26、上海悠游堂投资发展股份有限公司
- 27、北京粉笔蓝天科技有限公司
- 28、中秀科技(无锡)有限公司
- 29、武汉空心科技有限公司
- 30、北京蚂蚁风暴科技有限公司
- 31、四川互宜达科技有限公司
- 32、钱包行云(北京)科技有限公司
- 33、重庆欣才集团
- 34、咪咕互动娱乐有限公司(中国移动)
- 35、北京诺亦腾科技有限公司
- 36、增长引擎(北京)信息技术有限公司
- 37、北京英贝思科技有限公司
- 38、刚泰集团
- 39、深圳泰久信息系统股份有限公司
- 40、随行付支付有限公司
- 41、广州瀚农网络科技有限公司
- 42、享点科技有限公司
- 43、杭州比智科技有限公司
- 44、圳临界线网络科技有限公司
- 45、广州知识圈网络科技有限公司
- 46、国誉商业上海有限公司
- 47、海尔消费金融有限公司,嗨付、够花 (海尔)
- 48、广州巴图鲁信息科技有限公司
- 49、深圳市鹏海运电子数据交换有限公司
- 50、深圳市亚飞电子商务有限公司
- 51、上海趣医网络有限公司
- 52、聚金资本
- 53、北京父母邦网络科技有限公司
- 54、中山元赫软件科技有限公司
- 55、中商惠民(北京)电子商务有限公司
- 56、凯京集团
- 57、华夏票联(北京)科技有限公司
- 58、拍拍贷
- 59、北京尚德机构在线教育有限公司
- 60、任子行股份有限公司
- 61、北京时态电子商务有限公司
- 62、深圳卷皮网络科技有限公司
- 63、北京安博通科技股份有限公司
- 64、未来无线网
- 65、厦门瓷禧网络有限公司
- 66、北京递蓝科软件股份有限公司
- 67、郑州创海软件科技公司
- 68、北京国槐信息科技有限公司
- 69、浪潮软件集团
- 70、多立恒(北京)信息技术有限公司
- 71、广州极迅客信息科技有限公司
- 72、赫基(中国)集团股份有限公司
- 73、海投汇
- 74、上海润益创业孵化器管理股份有限公司
- 75、汉纳森(厦门)数据股份有限公司
- 76、安信信托
- 77、岚儒财富
- 78、捷道软件
- 79、湖北享七网络科技有限公司
- 80、湖南创发科技责任有限公司
- 81、深圳小安时代互联网金融服务有限公司
- 82、湖北享七网络科技有限公司
- 83、钱包行云(北京)科技有限公司
- 84、360金融 (360)
- 85、易企秀
- 86、摩贝(上海)生物科技有限公司
- 87、广东芯智慧科技有限公司
- 88、联想集团 (联想)
- 89、怪兽充电
- 90、行圆汽车
- 91、深圳店店通科技邮箱公司
- 92、京东 (京东)
- 93、米庄理财
- 94、咖啡易融
- 95、梧桐诚选
- 96、恒大地产 (恒大)
- 97、昆明龙慧
- 98、上海涩瑶软件
- 99、易信 (网易)
- 100、铜板街
- 101、杭州云若网络科技有限公司
- 102、特百惠(中国)有限公司
- 103、常山众卡运力供应链管理有限公司
- 104、深圳立创电子商务有限公司
- 105、杭州智诺科技股份有限公司
- 106、北京云漾信息科技有限公司
- 107、深圳市多银科技有限公司
- 108、亲宝宝
- 109、上海博卡软件科技有限公司
- 110、智慧树在线教育平台
- 111、米族金融
- 112、北京辰森世纪
- 113、云南滇医通
- 114、广州市分领网络科技有限责任公司
- 115、浙江微能科技有限公司
- 116、上海馨飞电子商务有限公司
- 117、上海宝尊电子商务有限公司
- 118、直客通科技技术有限公司
- 119、科度科技有限公司
- 120、上海数慧系统技术有限公司
- 121、我的医药网
- 122、多粉平台
- 123、铁甲二手机
- 124、上海海新得数据技术有限公司
- 125、深圳市珍爱网信息技术有限公司 (珍爱网)
- 126、小蜜蜂
- 127、吉荣数科技
- 128、上海恺域信息科技有限公司
- 129、广州荔支网络有限公司(荔枝FM)
- 130、杭州闪宝科技有限公司
- ……

更多接入的公司,欢迎在 登记地址 登记,登记仅仅为了产品推广。

欢迎大家的关注和使用,XXL-JOB也将拥抱变化,持续发展。

官方文档

技术交流

 

加载中

评论(29)

稀饭00
稀饭00
感觉不怎么样,为什么只支持cron表达式,quartz都还支持自定义配置呢?
石地理
真的比较好,社区氛围融洽,有问题,群主乐于解决
北方小伙啊
你好,最近出现了一个奇葩问题,无处排查,特咨询大佬,凌晨1点,早晨7点和7点半分别执行三个定时器,上班的时候查看日志,都是执行成功,但是数据库里没有数据,然后手动点击执行,数据库里就有数据了,这种情况是什么原因造成的?
猫咪不睡
猫咪不睡
太给力了,非常赞
zfg
zfg
做集群的话,多台机器的时钟差,允许多大!!!!!
许雪里
许雪里
#xxl-job# v1.9.x 的最后一个版本即将发布,大数据量(百万级)下报表和任务日志速度提升1000倍,同时解决jdk9、jdk10的兼容性问题。 在发布数十个版本之后,预计今年年中进入v2.0,将会迁移至springboot体系,同时退出docker官方镜像,真正实现 "开箱即用"。
momisabuilder
momisabuilder
你好,打扰下,在启动xxl-job-executor-sample-springboot的时候报错,发现httppost请求了,这样一个地址http://127.0.0.1:8080/xxl-job-admin/api,然后并没有/api这个资源,这个怎么整
ostatsu
ostatsu
#xxl-job# 可否支持在不修改任何代码的情况下直接调度 web api 的方式?
清风-蓝魔泪
清风-蓝魔泪
和airflow有侧重点不同吗
许雪里
许雪里
XXL携#xxl-job##xxl-mq##xxl-api##xxl-conf##xxl-excel##xxl-crawler#……等十余个项目前来祝贺。并表示xxl-job原生提供的nutz版本执行器简洁实用 :)

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

XXL-JOB 正在角逐《2018 开源中国软件》,期待您宝贵的一票! 投票链接: https://www.oschina.net/proje... v2.0.1 Release Notes 1、左侧菜单折叠动画问题修复; 2、调度报表日期分布图默认...

11/12 08:51

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

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

11/05 08:15

分布式任务调度平台 XXL-JOB v1.9.2 重磅更新,40+新特性

v1.9.2 新特性 1、任务超时控制:新增任务属性 "任务超时时间",并支持自定义,任务运行超时将会主动中断任务; 2、任务失败重试次数:新增任务属性 "失败重试次数",并支持自定义,当任务失...

10/08 07:25

XXL-JOB v1.9.1 发布,分布式任务调度平台

版本 V1.9.1 特性 1、国际化:调度中心实现国际化,支持中文、英文两种语言,默认为中文。 2、调度报表新增"运行中"中状态项; 3、调度报表优化,报表SQL调优并且新增LocalCache缓存(缓存时...

02/22 20:35

XXL-JOB v1.9.0 发布,分布式任务调度平台

XXL-JOB v1.9.0 发布,新特性如下: 1、新增Nutz执行器Sample示例项目; 2、新增任务运行模式 "GLUE模式(NodeJS) ",支持NodeJS脚本任务; 3、脚本任务Shell、Python和Nodejs等支持获取分片参...

01/02 08:02

XXL-JOB v1.8.2 发布,分布式任务调度平台

XXL-JOB v1.8.2 发布,新特性如下: 1、项目主页搭建:提供中英文文档:http://www.xuxueli.com/xxl-job 2、JFinal执行器Sample示例项目; 3、事件触发:除了"Cron方式"和"任务依赖方式"触发...

2017/09/05 09:24

XXL-JOB v1.8.1 发布,分布式任务调度平台

XXL-JOB v1.8.1 发布了,新特性如下: 1、分片广播任务:执行器集群部署时,任务路由策略选择"分片广播"情况下,一次任务调度将会广播触发集群中所有执行器执行一次任务,可根据分片参数处理...

2017/07/31 00:29

XXL-JOB v1.8.0 发布,分布式任务调度平台

版本 V1.8.0 特性 1、任务Cron更新逻辑优化,改为rescheduleJob,同时防止cron重复设置; 2、API回调服务失败状态码优化,方便问题排查; 3、XxlJobLogger的日志多参数支持; 4、路由策略新增...

2017/07/18 10:15

请大家协助申诉努比亚利用开源软件申请的专利无效

上周五 xxl-job 的作者爆料努比亚技术有限公司利用其开源软件申请专利一事(详情),作者同时也委托开源中国全权与该公司进行沟通商议此事处理。不过很遗憾,在第一次沟通(详情)无果后,努...

2017/06/16 07:14

没有更多内容

加载失败,请刷新页面

3
回答
执行器启动了,但jetty好像没启动

用的是xxl-job1.9.2 启动服务后,不能自动发现执行器,手动添加后,报以下错误: Network request error: Connect t...

05/25 18:19
2
回答
xxl-job 和 elastic-job,这两者各有什么优缺点啊

最近在做技术选型,看到最就是xxl-job 和 elastic-job,有没有大神能说说这两者各有什么优缺点啊

2017/12/03 22:31
4
回答
xxl_job分片问题
许雪里 的回答 05/09 10:02
最佳答案
引用来自“达拉达纳达人”的评论 引用来自“许雪里”的评论 你好,分片是以当前执行器注册机器为粒度分片的。分片数为注册在线的执行器数量。 分片参数可以在调度中心任务日志备注里查看,会对任务触发是的环境参数做镜像备份,方便排查问题。 执行器的注册在线数量是2,但是调度日志中的执行日志显示还是1。 ...
4
回答
查看“执行日志”错误,显示不出日志

楼主好,我从Github,下载xxl-job,通过创建示例执行器任务,当点击"执行日志“时出错,且日志为空的情况。 错误如下: 2017-07-18 18...

2017/07/18 18:38
3
回答
关于XXL-JOB和努比亚之间的事情之思考

首先亮明观点,我觉得要求努比亚大张旗鼓道歉不太合理。 因为现在这个专利还在公示期,既然专利手续有这个流程,就是为了解决这个问题的。如果每个专利公示期如果不...

2017/06/17 10:22

没有更多内容

加载失败,请刷新页面

没有更多内容

SpringBoot基础教程3-1-4 xxl-job快速整合

1 概述 XXL-JOB是一个轻量级分布式任务调度平台,开发迅速、学习简单、轻量级、易扩展。本文演示如何使用快速SpringBoot,搭建XXL-JOB调度平台。 xxl-job详细介绍请移至官网 2 简单理解 xxl-...

11/06 16:36
20
0
xxl-job学习

1.xxl-job架构图 2.启动xxl-job-admin,启动XxlJobAdminApplication 3.执行器统一管理,插件biz-task项目,移入xxl-job依赖 <!-- xxl-job-core --> <dependency> <groupId>com.xuxueli</gro...

11/05 10:44
3
0
分布式任务调度平台XXL-JOB

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

2016/06/14 13:04
26K
40
XXL-JOB-01

xxx-job 源码解读(一) 2018年03月07日 14:43:56 阅读数:52 1. 调度中心启动源码分析 首先从spring的配置看起, 从以下配置可以看出,xxl内部使用的是quartz spring配置 <bean id="quartz...

04/28 15:44
9
0
分布式任务调度系统

分布式任务调度平台XXL-JOB Elastic-Job http://www.iteye.com/news/32353

03/10 13:17
116
0
《分布式任务调度平台XXL-JOB》

http://git.oschina.net/xuxueli0323/xxl-job

2016/10/13 15:40
199
0
任务调度需求分析

任务调度需求: 支持的任务类型: 1.只执行一次的定时任务(如:30分钟取消订单) 2.周期性定时任务 (每5分钟出发一次任务) 任务功能: 对任务动态增删改查 任务量:一次性任务比较多,周期...

04/18 17:02
7
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部