README.md 10.2 KB
Newer Older
许雪里's avatar
许雪里 已提交
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
<p align="center">
    <a href="http://www.xuxueli.com/">
        <img src="https://raw.githubusercontent.com/xuxueli/xxl-job/master/doc/images/xxl-logo.jpg" width="150">
    </a>
    <h3 align="center">XXL-JOB</h3>
    <p align="center">
        XXL-JOB, a lightweight distributed task scheduling framework.
        <br>
        <a href="http://www.xuxueli.com/"><strong>-- Browse xuxueli's website. --</strong></a>
        <br>
        <br>
        <a href="https://travis-ci.org/xuxueli/xxl-job">
            <img src="https://travis-ci.org/xuxueli/xxl-job.svg?branch=master" >
        </a>
        <a href="https://maven-badges.herokuapp.com/maven-central/com.xuxueli/xxl-job/">
            <img src="https://maven-badges.herokuapp.com/maven-central/com.xuxueli/xxl-job/badge.svg" >
        </a>
         <a href="https://github.com/xuxueli/xxl-job/releases">
             <img src="https://img.shields.io/github/release/xuxueli/xxl-job.svg" >
         </a>
         <a href="http://www.gnu.org/licenses/gpl-3.0.html">
             <img src="https://img.shields.io/badge/license-GPLv3-blue.svg" >
         </a>
         <a href="https://gitter.im/xuxueli/xxl-job?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge">
              <img src="https://badges.gitter.im/xuxueli/xxl-job.svg" >
          </a>
    </p>    
</p>
许雪里's avatar
许雪里 已提交
29

许雪里's avatar
许雪里 已提交
30

许雪里's avatar
许雪里 已提交
31
## Intro
许雪里's avatar
许雪里 已提交
32 33 34
XXL-JOB is a lightweight distributed task scheduling framework. 
It's core design goal is to develop quickly and learn simple, lightweight, and easy to expand. 
Now, it's already open source, and many companies use it in production environments, real "out-of-the-box".
许雪里's avatar
许雪里 已提交
35

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

许雪里's avatar
许雪里 已提交
38

许雪里's avatar
许雪里 已提交
39
## Documentation
X
xueli.xue 已提交
40

许雪里's avatar
许雪里 已提交
41 42
- [中文文档](https://github.com/xuxueli/xxl-job/blob/master/doc/XXL-JOB官方文档.md)
- [Englis Documentation](https://github.com/xuxueli/xxl-job/blob/master/doc/XXL-JOB-Englis-Documentation.md)
许雪里's avatar
许雪里 已提交
43

许雪里's avatar
许雪里 已提交
44

许雪里's avatar
许雪里 已提交
45
## Features
X
xueli.xue 已提交
46 47
- 1、简单:支持通过Web页面对任务进行CRUD操作,操作简单,一分钟上手;
- 2、动态:支持动态修改任务状态、暂停/恢复任务,以及终止运行中任务,即时生效;
X
xueli.xue 已提交
48 49
- 3、调度中心HA(中心式):调度采用中心式设计,“调度中心”基于集群Quartz实现,可保证调度中心HA;
- 4、执行器HA(分布式):任务分布式执行,任务"执行器"支持集群部署,可保证任务执行HA;
X
xueli.xue 已提交
50
- 5、任务Failover:执行器集群部署时,任务路由策略选择"故障转移"情况下调度失败时将会平滑切换执行器进行Failover;
51
- 6、一致性:“调度中心”通过DB锁保证集群分布式调度的一致性, 一次任务调度只会触发一次执行;
52 53
- 7、自定义任务参数:支持在线配置调度任务入参,即时生效;
- 8、调度线程池:调度系统多线程触发调度运行,确保调度精确执行,不被堵塞;
X
xueli.xue 已提交
54
- 9、弹性扩容缩容:一旦有新执行器机器上线或者下线,下次调度时将会重新分配任务;
X
coding  
xueli.xue 已提交
55
- 10、邮件报警:任务失败时支持邮件报警,支持配置多邮件地址群发报警邮件;
X
xueli.xue 已提交
56 57 58 59 60 61 62
- 11、状态监控:支持实时监控任务进度;
- 12、Rolling执行日志:支持在线查看调度结果,并且支持以Rolling方式实时查看执行器输出的完整的执行日志;
- 13、GLUE:提供Web IDE,支持在线开发任务逻辑代码,动态发布,实时编译生效,省略部署上线的过程。支持30个版本的历史版本回溯。
- 14、数据加密:调度中心和执行器之间的通讯进行数据加密,提升调度信息安全性;
- 15、任务依赖:支持配置子任务依赖,当父任务执行结束且执行成功后将会主动触发一次子任务的执行, 多个子任务用逗号分隔;
- 16、推送maven中央仓库: 将会把最新稳定版推送到maven中央仓库, 方便用户接入和使用;
- 17、任务注册: 执行器会周期性自动注册任务, 调度中心将会自动发现注册的任务并触发执行。同时,也支持手动录入执行器地址;
许雪里's avatar
许雪里 已提交
63
- 18、路由策略:执行器集群部署时提供丰富的路由策略,包括:第一个、最后一个、轮询、随机、一致性HASH、最不经常使用、最近最久未使用、故障转移、忙碌转移等;
X
xueli.xue 已提交
64
- 19、运行报表:支持实时查看运行数据,如任务数量、调度次数、执行器数量等;以及调度报表,如调度日期分布图,调度成功分布图等;
X
xueli.xue 已提交
65
- 20、脚本任务:支持以GLUE模式开发和运行脚本任务,包括Shell、Python等类型脚本;
X
xueli.xue 已提交
66 67
- 21、阻塞处理策略:调度过于密集执行器来不及处理时的处理策略,策略包括:单机串行(默认)、丢弃后续调度、覆盖之前调度;
- 22、失败处理策略;调度失败时的处理策略,策略包括:失败告警(默认)、失败重试;
许雪里's avatar
许雪里 已提交
68
- 23、分片广播任务:执行器集群部署时,任务路由策略选择"分片广播"情况下,一次任务调度将会广播触发对应集群中所有执行器执行一次任务,同时传递分片参数;可根据分片参数开发分片任务;
许雪里's avatar
许雪里 已提交
69
- 24、动态分片:分片广播任务以执行器为维度进行分片,支持动态扩容执行器集群从而动态增加分片数量,协同进行业务处理;在进行大数据量业务操作时可显著提升任务处理能力和速度。
X
xueli.xue 已提交
70

许雪里's avatar
许雪里 已提交
71

许雪里's avatar
许雪里 已提交
72
## Development
X
xueli.xue 已提交
73 74
于2015年中,我在github上创建XXL-JOB项目仓库并提交第一个commit,随之进行系统结构设计,UI选型,交互设计……

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

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

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

于2017-05-13,在上海举办的 "[第62期开源中国源创会](https://www.oschina.net/event/2236961)" 的 "放码过来" 环节,我登台对XXL-JOB做了演讲,台下五百位在场观众反响热烈([图文回顾](https://www.oschina.net/question/2686220_2242120) )。
X
xueli.xue 已提交
82

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

X
xueli.xue 已提交
86
至今,XXL-JOB已接入多家公司的线上产品线,接入场景如电商业务,O2O业务和大数据作业等,截止2016-07-19为止,XXL-JOB已接入的公司包括不限于:
X
xueli.xue 已提交
87 88 89 90 91 92
    
	- 1、大众点评;
	- 2、山东学而网络科技有限公司;
	- 3、安徽慧通互联科技有限公司;
	- 4、人人聚财金服;
	- 5、上海棠棣信息科技股份有限公司
X
xueli.xue 已提交
93
	- 6、运满满
X
xueli.xue 已提交
94
	- 7、米其林 (中国区)
X
xueli.xue 已提交
95
	- 8、妈妈联盟
X
xueli.xue 已提交
96
	- 9、九樱天下(北京)信息技术有限公司
X
xueli.xue 已提交
97
	- 10、万普拉斯科技有限公司(一加手机)
X
xueli.xue 已提交
98
	- 11、上海亿保健康管理有限公司
X
xueli.xue 已提交
99
	- 12、海尔馨厨 (海尔)
X
xueli.xue 已提交
100
	- 13、河南大红包电子商务有限公司
X
xueli.xue 已提交
101
	- 14、成都顺点科技有限公司
X
xueli.xue 已提交
102 103
	- 15、深圳市怡亚通
	- 16、深圳麦亚信科技股份有限公司
X
xueli.xue 已提交
104
	- 17、上海博莹科技信息技术有限公司
105
	- 18、中国平安科技有限公司
X
xueli.xue 已提交
106 107 108 109
	- 19、杭州知时信息科技有限公司
	- 20、博莹科技(上海)有限公司
	- 21、成都依能股份有限责任公司
	- 22、湖南高阳通联信息技术有限公司
X
xueli.xue 已提交
110
	- 23、深圳市邦德文化发展有限公司
X
xueli.xue 已提交
111
	- 24、福建阿思可网络教育有限公司
112
	- 25、优信二手车
X
xueli.xue 已提交
113
	- 26、上海悠游堂投资发展股份有限公司
X
xueli.xue 已提交
114 115
	- 27、北京粉笔蓝天科技有限公司
	- 28、中秀科技(无锡)有限公司
许雪里's avatar
许雪里 已提交
116 117 118
	- 29、武汉空心科技有限公司
	- 30、北京蚂蚁风暴科技有限公司
	- 31、四川互宜达科技有限公司
许雪里's avatar
许雪里 已提交
119 120
    - 32、钱包行云(北京)科技有限公司
    - 33、重庆欣才集团
许雪里's avatar
许雪里 已提交
121 122 123
    - 34、咪咕互动娱乐有限公司(中国移动)
    - 35、北京诺亦腾科技有限公司
    - 36、增长引擎(北京)信息技术有限公司
X
xueli.xue 已提交
124 125 126 127
	- ……

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

许雪里's avatar
许雪里 已提交
128

许雪里's avatar
许雪里 已提交
129
## Communication
许雪里's avatar
许雪里 已提交
130

许雪里's avatar
许雪里 已提交
131 132 133 134 135 136
- 腾讯QQ群(6):399758605
- 腾讯QQ群(5):138274130    (群即将满,请加群6)
- 腾讯QQ群(4):464762661    (群即将满,请加群6)
- 腾讯QQ群(3):242151780    (群即将满,请加群6)
- 腾讯QQ群(2):438249535    (群即将满,请加群6)
- 腾讯QQ群(1):367260654    (群即将满,请加群6)
许雪里's avatar
许雪里 已提交
137
- [Gitter](https://gitter.im/xuxueli/xxl-job)
X
xueli.xue 已提交
138

许雪里's avatar
许雪里 已提交
139

许雪里's avatar
许雪里 已提交
140 141
## Issue
如有问题可在 [Github Issues](https://github.com/xuxueli/xxl-job/issues/) 上提问,也可以加入上文技术交流群;
X
xueli.xue 已提交
142

X
coding  
xueli.xue 已提交
143

许雪里's avatar
许雪里 已提交
144
## User Registration
许雪里's avatar
许雪里 已提交
145 146
登记仅为了产品推广,产品开源免费。   
请接入使用的公司或个人进行用户登记 [登记地址](https://github.com/xuxueli/xxl-job/issues/1 )
X
coding  
xueli.xue 已提交
147

X
xueli.xue 已提交
148

许雪里's avatar
许雪里 已提交
149
## Copyright and license
许雪里's avatar
许雪里 已提交
150 151 152
产品开源免费,并且将持续提供免费的社区技术支持。个人或企业内部可自由的接入和使用。

XXL-JOB采用GPLv3协议,目的是为了保证用户的自由使用权利。协议可避免专利申请的特殊危险 "the GPL assures that patents cannot be used to render the program non-free.(摘自GPLv3)"。  
许雪里's avatar
许雪里 已提交
153
Copyright (c) 2015-present, xuxueli.
许雪里's avatar
许雪里 已提交
154

X
xueli.xue 已提交
155
---
许雪里's avatar
许雪里 已提交
156 157
## Donate
支持的话可以扫一扫,请作者喝杯咖啡吧:)
X
xueli.xue 已提交
158

许雪里's avatar
许雪里 已提交
159 160
微信:![输入图片说明](https://static.oschina.net/uploads/img/201707/07214300_qhxT.png "在这里输入图片标题")
支付宝:![输入图片说明](http://images2015.cnblogs.com/blog/554415/201605/554415-20160513183306234-1939652116.png "在这里输入图片标题")