這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
什麼是Cloudtask?
Cloudtask
是一個輕量級的分布式定時任務管理平台,它非常輕量小巧,使用簡單,我們可以上傳、暫停/啟動任務,複製一個任務,修改任務的執行命令,或者查看任務的調度狀態、執行日誌,開發人員可以採用自己最熟悉的程式設計語言來編寫任務程式,可以是一個控制台程式,也可以是一段 shell 指令碼,上傳至平台後設定定時執行規則即可。
設計方案
Cloudtask
後端為無狀態服務,通過 Zookeeper
實現叢集各節點間的發現與協調,節點以心跳方式註冊到註冊中心,中心伺服器統一管理著所有叢集,任務調度以叢集方式進行分配,具有良好的可擴充性,任務分配資訊按叢集劃分並將分配資料存放區到 Zookeeper
節點,保持分配資料的一致性。
更多文檔 https://cloudtask.github.io
示範地址 http://104.225.159.143:8091
主要特性
- 分布式:採用
Zookeeper
實現註冊中心,節點與任務分布;
- 跨平台:支援
Windows
和 Linux
兩個平台的部署;
- 任務定時:嚴格按照任務調度周期執行,同一時間點同一任務只會調度觸發一次執行,保持狀態一致性;
- 任務控制:可以隨時手動啟動、停止某一個任務;
- 並行調度:叢集中各個節點並行調度本地各自的任務;
- 彈性擴充:節點以環型結構組成叢集,加入退出叢集更靈活,部分任務會根據節點重新分配;
- 容錯移轉:當出現節點故障宕機時,為避免叢集任務調整抖動,只對故障節點的任務進行轉移;
- 營運管理:通過前端網站集中管理所有任務與叢集資訊,包括使用者權限管理;
- 事件通知:若任務執行失敗,或叢集節點離線,系統會以事件郵件通知營運者;
- 資訊收集:節點會將任務執行結果回饋到中心伺服器,日誌展示更直觀;
- 穩定保障:在伺服器無波動的情況下,並不會重新分配任務;
組件介紹
- CloudTask InitConfig
- CloudTask Web
- CloudTask Center
- CloudTask Agent
功能預覽
前端登入
Dashboard
叢集狀態
工作清單
License
Cloudtask 基於 Apache Licence 2.0 構建.
開發語言: Golang、TypeScript.
相互學習,歡迎吐槽.