Elastic-Job是当当开源的一款非常好用的分布式任务调度框架,由两个相互独立的子项目Elastic-Job-Lite和Elastic-Job-cloud组成。Elastic-Job-Lite定位为轻量级无中心化解决方案,使用jar包的形式提供分布式任务的协调服务。
优点
1.分布式调度协调
2.弹性扩容缩容
3.失效转移
4.错过执行作业重触发
5.作业分片一致性,保证同一分片在分布式环境中仅一个执行实例6.自诊断并修复分布式不稳定造成的问题
7.支持并行调度
8.支持作业生命周期操作9.丰富的作业类型
10.Spring整合以及命名空间提供11.运维平台
官网:http: //waww .elasticjob.io
Elastic-Job提供Simple、Dataflow和 Script 共3种作业类型
Simple类型作业
意为简单实现,未经任何封装的类型。需实现simpleJob接口。该接口仅提供单一方法用于实现,此方法将定时执行。与Quartz原生接口相似,但提供了弹性扩缩容和分片等功能。
Dataflow类型作业
Dataflow类型用于处理数据流,需实现DataflowJob接口。该接口提供2个方法可供实现,分别用于抓取(fetchData)和处理(processData)数据。
Script类型作业
意为脚本类型作业,支持shell ,python, perl等所有类型脚本。只需通过控制台或代码配置scriptCommandLine即可,无需编码。执行脚本路径可包含参数,参数传递完毕后,作业框架会自动追加最后一个参数为作业运行时信息。
Elastic-Job 简单的实战 demo 源码
项目的 Git 地址:git@gitee.com:chenxistudy/elastic-job-demo.git