5

什么是Cloudtask?

Logo

Cloudtask 是一个轻量级的分布式定时任务管理平台,它非常轻量小巧,使用简单,我们可以上传、暂停/启动任务,克隆一个任务,修改任务的执行命令,或者查看任务的调度状态、执行日志,开发人员可以采用自己最熟悉的编程语言来编写任务程序,可以是一个控制台程序,也可以是一段 shell 脚本,上传至平台后设置定时执行规则即可。

架构图

设计方案

Cloudtask 后端为无状态服务,通过 Zookeeper 实现集群各节点间的发现与协调,节点以心跳方式注册到注册中心,中心服务器统一管理着所有集群,任务调度以集群方式进行分配,具有良好的可扩展性,任务分配信息按集群划分并将分配数据存储到 Zookeeper 节点,保持分配数据的一致性。

项目主页 https://github.com/CloudTask/cloudtask

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

演示地址 http://104.225.159.143:8091

主要特性

  • 分布式:采用 Zookeeper 实现注册中心,节点与任务分布;
  • 跨平台:支持 WindowsLinux 两个平台的部署;
  • 任务定时:严格按照任务调度周期执行,同一时间点同一任务只会调度触发一次执行,保持状态一致性;
  • 任务控制:可以随时手动启动、停止某一个任务;
  • 并行调度:集群中各个节点并行调度本地各自的任务;
  • 弹性扩展:节点以环型结构组成集群,加入退出集群更灵活,部分任务会根据节点重新分配;
  • 故障转移:当出现节点故障宕机时,为避免集群任务调整抖动,只对故障节点的任务进行转移;
  • 运维管理:通过前端站点集中管理所有任务与集群信息,包括用户权限管理;
  • 事件通知:若任务执行失败,或集群节点离线,系统会以事件邮件通知运维者;
  • 信息收集:节点会将任务执行结果回馈到中心服务器,日志展示更直观;
  • 稳定保障:在服务器无波动的情况下,并不会重新分配任务;

组件介绍

功能预览

前端登录

登录

Dashboard

Dashboard

集群状态

Runtime集群

任务列表

Runtime集群

License

Cloudtask 基于 Apache Licence 2.0 构建.

开发语言: Golang、TypeScript.

相互学习,欢迎吐槽.


bobliu
26 声望3 粉丝