在分布式任務調度領域中,Quartz、ElasticJob是廣受歡迎的開源解決方案。本文主要介紹 MSE SchedulerX 和這兩個開源專案的比對。
專案 | Quartz | Elastic-Job | SchedulerX |
定時調度 | Cron | Cron | Cron、Fixed_Delay、Fixed_Rate、One_Time、OpenAPI |
任務編排 | 不支援 | 不支援 | 支援, 可以通過圖形化配置,並且任務間可傳遞資料 |
分布式跑批 | 不支援 | 靜態分區 | 廣播、靜態分區、MapReduce |
多語言 | Java | Java、指令碼任務 | Java、Go、指令碼任務、HTTP任務、K8s Job |
可觀測 | 無 | 弱,只能查看無法動態建立、修改任務 | 記錄、作業記錄(支援搜尋)、監控大盤、操作記錄、查看堆棧、鏈路追蹤 |
可營運 | 無 | 啟用、禁用任務 | 啟用、禁用任務、手動運行任務、停止任務、標記成功、重刷歷史資料 |
警示監控 | 無 | 郵件 | 郵件、DingTalk、飛書、企業微信、自訂WebHook、簡訊、電話 |
高可用及容災 | 需要自己維護資料庫的容災 | 需要自己維護ZooKeeper的容災 | 預設支援同城多機房容災 |
使用者權限 | 無 | 無 | 支援單點登入、主子帳號、角色帳號、RAM精微調權限管理 |
優雅下線 | 不支援 | 不支援 | 支援 |
灰階測試 | 不支援 | 不支援 | 支援 |
效能 | 每次調度通過DB搶鎖,對DB壓力大 | ZooKeeper是效能瓶頸 | 可水平擴充,支援海量任務調度 |