架构
airflow的架构如下图所示:

airflow组成部分:
- Workers:执行指定的任务(tasks)。
- Scheduler(调度器):负责添加必要的任务(tasks)到任务队列。
- Web server(web服务端):HTTP服务器提供DAG/task的状态信息。
- 数据库:存储 任务(tasks)、DAGs、 变量、连接等信息。
- Celery:队列机制。Celery由Broker(代理)和Result backend(结果后端)两个组件组成。Broker负责存储执行的命令。Result backend存储完成执行命令的状态信息。
各种组件之间的通信
[1] Web server –> Workers : 获取任务执行日志。
[2] Web server –> DAG files : 展示DAG结构。
[3] Web server –> Database :获取任务状态。
[4] Workers –> DAG files :展示DAG结构和执行任务。
[5] Workers –> Database : 获取和存储连接配置信息、变量XCOM。
[6] Workers –> Celery’s result backend : 存储任务执行信息。
[7] Workers –> Celery’s broker :存储执行的命令。
[8] Scheduler –> Database : 存储DAG运行信息和相关的任务。
[9] Scheduler –> DAG files : 展示DAG的结构和执行任务。
[10] Scheduler –> Celery’s result backend : 获取已经执行完的任务信息。
[11] Scheduler –> Celery’s broker : 把执行的命令发送给Celery’s broker。
参考:
https://airflow.apache.org/docs/stable/howto/executor/use-celery.html
网友评论