一个轻量级的分布式定时任务调度平台-Cloudtask

bobliu · · 10741 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

什么是Cloudtask?

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

设计方案

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

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

演示地址 http://104.225.159.143:8091

主要特性

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

组件介绍

功能预览

前端登录

Dashboard

集群状态

任务列表

License

Cloudtask 基于 Apache Licence 2.0 构建.

开发语言: Golang、TypeScript.

相互学习,欢迎吐槽.


有疑问加站长微信联系(非本文作者)

本文来自:Segmentfault

感谢作者:bobliu

查看原文:一个轻量级的分布式定时任务调度平台-Cloudtask

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

10741 次点击  ∙  1 赞  
加入收藏 微博
上一篇:go语言
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传