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