Elastic-Job简介
針對(duì)分布式任務(wù)調(diào)度的需求,市場(chǎng)上出現(xiàn)了很多的產(chǎn)品:
1) TBSchedule:淘寶推出的一款非常優(yōu)秀的高性能分布式調(diào)度框架,目前被應(yīng)用于阿里、京東、支付寶、國(guó)美等很多互聯(lián)網(wǎng)企業(yè)的流程調(diào)度系統(tǒng)中。但是已經(jīng)多年未更新,文檔缺失嚴(yán)重,缺少維護(hù)。
2) XXL-Job:大眾點(diǎn)評(píng)的分布式任務(wù)調(diào)度平臺(tái),是一個(gè)輕量級(jí)分布式任務(wù)調(diào)度平臺(tái), 其核心設(shè)計(jì)目標(biāo)是開發(fā)迅速、學(xué)習(xí)簡(jiǎn)單、輕量級(jí)、易擴(kuò)展。現(xiàn)已開放源代碼并接入多家公司線上產(chǎn)品線,開箱即用。
3)Elastic-job:當(dāng)當(dāng)網(wǎng)借鑒TBSchedule并基于quartz 二次開發(fā)的彈性分布式任務(wù)調(diào)度系統(tǒng),功能豐富強(qiáng)大,采用zookeeper實(shí)現(xiàn)分布式協(xié)調(diào),具有任務(wù)高可用以及分片功能。
4)Saturn: 唯品會(huì)開源的一個(gè)分布式任務(wù)調(diào)度平臺(tái),基于Elastic-job,可以全域統(tǒng)一配置,統(tǒng)一監(jiān)控,具有任務(wù)高可用以及分片功能。
Elastic-Job是一個(gè)分布式調(diào)度的解決方案,由當(dāng)當(dāng)網(wǎng)開源,它由兩個(gè)相互獨(dú)立的子項(xiàng)目Elastic-Job-Lite和Elastic- Job-Cloud組成,使用Elastic-Job可以快速實(shí)現(xiàn)分布式任務(wù)調(diào)度。Elastic-Job的github地址:Elastic-Job · GitHub。
功能列表:
分布式調(diào)度協(xié)調(diào)
在分布式環(huán)境中,任務(wù)能夠按指定的調(diào)度策略執(zhí)行,并且能夠避免同一任務(wù)多實(shí)例重復(fù)執(zhí)行。
豐富的調(diào)度策略:
基于成熟的定時(shí)任務(wù)作業(yè)框架Quartz cron表達(dá)式執(zhí)行定時(shí)任務(wù)。
彈性擴(kuò)容縮容
當(dāng)集群中增加某一個(gè)實(shí)例,它應(yīng)當(dāng)也能夠被選舉并執(zhí)行任務(wù);當(dāng)集群減少一個(gè)實(shí)例時(shí),它所執(zhí)行的任務(wù)能被轉(zhuǎn)移到別的實(shí)例來(lái)執(zhí)行。
失效轉(zhuǎn)移
某實(shí)例在任務(wù)執(zhí)行失敗后,會(huì)被轉(zhuǎn)移到其他實(shí)例執(zhí)行。
錯(cuò)過(guò)執(zhí)行作業(yè)重觸發(fā)
若因某種原因?qū)е伦鳂I(yè)錯(cuò)過(guò)執(zhí)行,自動(dòng)記錄錯(cuò)過(guò)執(zhí)行的作業(yè),并在上次作業(yè)完成后自動(dòng)觸發(fā)。
支持并行調(diào)度
支持任務(wù)分片,任務(wù)分片是指將一個(gè)任務(wù)分為多個(gè)小任務(wù)項(xiàng)在多個(gè)實(shí)例同時(shí)執(zhí)行。
支持作業(yè)生命周期操作
可以動(dòng)態(tài)對(duì)任務(wù)進(jìn)行開啟及停止操作。
豐富的作業(yè)類型
支持Simple、DataFlow、Script三種作業(yè)類型。
Spring整合以及命名空間支持
對(duì)Spring支持良好的整合方式,支持spring自定義命名空間,支持占位符。
運(yùn)維平臺(tái)
提供運(yùn)維界面,可以管理作業(yè)和注冊(cè)中心。
總結(jié)
以上是生活随笔為你收集整理的Elastic-Job简介的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 什么是分布式任务调度
- 下一篇: Elastic-Job重要概念