天天看點

阿裡雲分布式任務排程SchedulerX2.0正式商業化前言強大功能新增站點未來規劃

前言

Schedulerx2.0是阿裡中間件自研的基于Akka架構的新一代分布式任務排程平台,提供定時、任務編排、分布式跑批等功能,具有高可靠、海量任務、秒級排程等能力。

Schedulerx2.0在公有雲公測2年,服務超過1000家公司,積累了豐富的經驗,穩定性也得到了足夠的驗證。為了提供更優質的服務,于2021.9.1正式商業化,同時也會帶來更加強大的能力。

強大功能

定時排程

Crontab

  • 支援可視化的crontab表達式
  • 支援時間偏移,可以通過資料時間做跨天的業務
  • 支援時區,可以做國際化的定時任務
阿裡雲分布式任務排程SchedulerX2.0正式商業化前言強大功能新增站點未來規劃

Fixed rate

衆所周知,crontab必須被60整除,比如想每隔40分鐘跑一次,cron不支援。Fixed rate專門用來做定期輪詢,表達式簡單。

阿裡雲分布式任務排程SchedulerX2.0正式商業化前言強大功能新增站點未來規劃

秒級别排程

通過second_delay表達式可以支援秒級别排程,适合不停執行的實時業務,業務不能中斷。

阿裡雲分布式任務排程SchedulerX2.0正式商業化前言強大功能新增站點未來規劃

任務編排

schedulerx2.0支援工作流(DAG)進行任務編排,操作簡單,前端直拖拖拽拽即可。詳細的任務狀态圖能一目了然看到下遊任務為什麼沒跑,如下圖:

阿裡雲分布式任務排程SchedulerX2.0正式商業化前言強大功能新增站點未來規劃

schedulerx2.0的工作流還支援上下遊資料傳遞

輕量級分布式程式設計模型

支援單機、廣播、分片、MapReduce多種分布式執行模型。

  • 單機模型:業務多節點部署時,保證不重複執行。
  • 廣播模型:所有節點都執行同一邏輯,全部執行完還可以由一台機器回調一次postProcess方法,常用在批量運維,批量清理日志、緩存。
  • 分片模型:支援類似elastic-job的分片模型,常用在分庫分表的跑批。
  • MapReduce模型:Schedulerx2.0自創的輕量級分布式程式設計模型,隻需要實作map和reduce方法,就可以将海量資料分布式到多台機器運作,相對于傳統大資料跑批:
    • 成本低:直接複用線上應用的機器,不需要額外計算資源
    • 速度快:不需要資料導入導出,直接跑批線上資料庫、oss等,可以作為實時業務的跑批
    • 學習簡單:不需要大資料的知識,會java就行
    • 可以處理負責的業務:線上業務處理往往邏輯很複雜,傳統大資料跑批sql無法滿足,使用java進階語言可以處理複雜邏輯,還可以直接複用業務接口。

多語言

除了java語言,schedulerx還支援多種語言的任務類型

阿裡雲分布式任務排程SchedulerX2.0正式商業化前言強大功能新增站點未來規劃

其中http任務是serverless,不需要注冊用戶端就能執行。Schedulerx的http任務支援簽名認證,防止使用者的http接口被惡意攻擊。

豐富的任務運維能力

  • 支援對堵塞任務的手動停止、逾時自動停止。
  • 支援對失敗任務的原地重跑、标記成功。
  • 支援重刷資料:通過資料時間+重刷資料,可以重刷曆史上的資料,把漏跑的任務重新執行。

商業化報警

  1. 報警通道支援短信、釘釘機器人、郵件
阿裡雲分布式任務排程SchedulerX2.0正式商業化前言強大功能新增站點未來規劃
  1. 報警類型支援失敗報警、逾時報警、無可用機器報警等
阿裡雲分布式任務排程SchedulerX2.0正式商業化前言強大功能新增站點未來規劃
  1. 每個任務都可以單獨配置報警聯系人,也可以使用應用的報警聯系人組

全新的權限體系

本次商業化帶來了全新的權限體系,支援阿裡雲RAM權限,支援讀寫等細粒度權限控制。

新增站點

本次商業化,新增了香港、新加坡、德國、美國、日本站點。

使用者有其他站點的需求,可以提工單給我們,我們會盡量滿足。

未來規劃

日志收集

收集用戶端的任務排程日志,甚至是應用日志,可以直接在控制台看到日志,分析任務失敗的原因。

彈性擴縮容

離線任務分布式跑批的時候,可以動态擴容機器加快處理速度。跑批結束,可以縮容,節省機器成本。

一次性任務

一個任務隻在未來某個時刻點執行一次,執行完自動銷毀。