AirFlow介绍

介绍

 Airbnb开源的一款调度工具,核心特征是分布式、基于工作流,此外还提供了UI方便管理和监控,可看做crontab的升级版,功能更加丰富和完善;

核心概念

  • DAG:WorkFlow的定义,调度的基本单元,由若干存在依赖关系的Task组成;
  • Task:DAG中一个节点,即具体的某个调度任务;
  • Operator:任务的定义,包括任务类型、执行逻辑等等;
    在这里插入图片描述在这里插入图片描述

架构图

 Master-Slave架构,存在两种主要角色Seheduler和Executor,以及辅助角色WebServer,如下图所示:

  • Seheduler:调度器,周期性地轮询元数据库,筛选需要被执行的DAG(同一时间只能存在一个);
  • Executor:执行器,负责任务的执行;
  • WebServer:WEB服务器,为前端提供监控管理调度任务的能力;
    在这里插入图片描述

HA说明

  • Worker Node:以集群的形式存在,而且可以很方便的扩容缩容,避免单点问题;
  • Master Node:需要借助第三方组件airflow-scheduler-failover-controller实现HA,部署一台备用节点,正常情况下只启动主节点的Seheduler,主节点宕机时,通过组件启动备用节点的Seheduler;(官方并没有给出HA的方案)
  • 元数据库:数据库需要主备部署;

性能瓶颈

  • 随着节点数量的增加,数据库的压力会越来越大,成为瓶颈点;

优化建议

  • DAG使用python代码定义,可提供可视化的方案降低使用门槛,以及提升使用效率;

参考:

  1. 架构图来源:https://zhuanlan.zhihu.com/p/44768244
  2. DAG可视化:https://www.jianshu.com/p/e878bbc9ead2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值