深度解析 | 基于DAG的分布式任务调度平台:Maat

  1. 云栖社区>
  2. 阿里技术>
  3. 博客>
  4. 正文

深度解析 | 基于DAG的分布式任务调度平台:Maat

技术小能手 2018-08-16 10:55:52 浏览9137
展开阅读全文

背景

什么是Maat?

Maat是一个基于开源项目Airflow的流程调度系统,它支持用户自定义地组装流程节点,流程可以在用户指定的时间触发(支持crontab格式),或由用户手动触发。

Maat的所有节点分布式地运行在Hippo上,由Drogo调度。用户可以创建自己的调度节点和执行节点,达到资源隔离的目的。

用户可以通过配置的方式安装自己执行节点的运行环境,也可以配置执行节点的副本数。

下图展示了一个任务的一次调度流程:

bd1a12678539dc20ae67429bce2496e4b6a72a78

为什么要做Maat?

我们在项目的开发过程中,经常遇到一些流程化/定时调度的需求,如上线发布流程、定时分析任务流程等。对于这些流程化的调度任务,我们尝试过自己开发了一套流程调度系统,也尝试过接入集团的工作流,但难免会遇到一些问题:

• 业务代码和调度代码耦合严重,修改流程基本需要入侵到代码级别,业务代码的发布影响调度。
• 




网友评论

登录后评论
0/500
评论
技术小能手
+ 关注
所属团队号: 阿里技术