一個輕量級的分佈式定時任務調度平臺-Cloudtask

什麼是Cloudtask?

Logo

Cloudtask 是一個輕量級的分佈式定時任務管理平臺,它很是輕量小巧,使用簡單,咱們能夠上傳、暫停/啓動任務,克隆一個任務,修改任務的執行命令,或者查看任務的調度狀態、執行日誌,開發人員能夠採用本身最熟悉的編程語言來編寫任務程序,能夠是一個控制檯程序,也能夠是一段 shell 腳本,上傳至平臺後設置定時執行規則便可。前端

架構圖

設計方案

Cloudtask 後端爲無狀態服務,經過 Zookeeper 實現集羣各節點間的發現與協調,節點以心跳方式註冊到註冊中心,中心服務器統一管理着全部集羣,任務調度以集羣方式進行分配,具備良好的可擴展性,任務分配信息按集羣劃分並將分配數據存儲到 Zookeeper 節點,保持分配數據的一致性。git

項目主頁 https://github.com/CloudTask/cloudtask

更多文檔 https://cloudtask.github.io

演示地址 http://104.225.159.143:8091

主要特性

  • 分佈式:採用 Zookeeper 實現註冊中心,節點與任務分佈;
  • 跨平臺:支持 WindowsLinux 兩個平臺的部署;
  • 任務定時:嚴格按照任務調度週期執行,同一時間點同一任務只會調度觸發一次執行,保持狀態一致性;
  • 任務控制:能夠隨時手動啓動、中止某一個任務;
  • 並行調度:集羣中各個節點並行調度本地各自的任務;
  • 彈性擴展:節點以環型結構組成集羣,加入退出集羣更靈活,部分任務會根據節點從新分配;
  • 故障轉移:當出現節點故障宕機時,爲避免集羣任務調整抖動,只對故障節點的任務進行轉移;
  • 運維管理:經過前端站點集中管理全部任務與集羣信息,包括用戶權限管理;
  • 事件通知:若任務執行失敗,或集羣節點離線,系統會以事件郵件通知運維者;
  • 信息收集:節點會將任務執行結果回饋到中心服務器,日誌展現更直觀;
  • 穩定保障:在服務器無波動的狀況下,並不會從新分配任務;

組件介紹

功能預覽

前端登陸github

登陸

Dashboardweb

Dashboard

集羣狀態shell

Runtime集羣

任務列表編程

Runtime集羣

License

Cloudtask 基於 Apache Licence 2.0 構建.後端

開發語言: Golang、TypeScript.服務器

相互學習,歡迎吐槽.架構

相關文章
相關標籤/搜索