Airflow Architecture

Architecture

Airflow是一个DGA流派的作业调度平台,既然是作业调度平台,那就分执行作业和调度作业的逻辑,Airflow Scheduler模块实现调度作业的逻辑,Airflow Executor模块实现执行作业的逻辑;此外Airflow还有一个Web Server模块,是一个Web UI,主要是提供各种信息的查看功能;懒得画图了,百度了下,从如何部署一个健壮的 apache-airflow 调度系统中扒来一个,基本就是这样的架构;
Airflow Architecture

作业定义

上面提到,Airflow是一个作业调度平台,需要处理用户定义的调度信息和作业信息,那么用户如何指定这两个信息呢?答案就是Pipeline definition文件;这个文件具体是一个Python的脚本文件;可以去官网或者官方的库里找些example看看;在Pipeline definition文件中主要体现的就是调度和作业两个内容,DAG对象用于定于调度规则,各个Operator对象,比如BashOperator,用于定义作业;

参考

Apache Airflow Documentation
如何部署一个健壮的 apache-airflow 调度系统