保存成功
订阅成功
保存失败,请重试
提交成功

Airflow 源码解析和性能优化

¥6会员免费看

Airflow 是 Airbnb 开源的,基于分布式任务队列 Celery 基础上的定时调度系统,它将不同的任务类型抽象成 operator,并提供 API 编排各任务之间的依赖关系和配置属性,形成 DAG,从而简化任务提交和维护成本。 同时 Airflow 还提供任务重跑,标记成功,查看日志等的可视化操作 UI 和更为灵活丰富的客户端命令行接口。另外可配置和可扩展的架构设计不仅支持单机单进程还支持基于 Celery 和 Mesos 的分布式集群运行,任务的消息通知也可以在 Redis 和 RabbitMQ 等中自由选择,使得 Airflow 可以灵活扩展。

实现一个分布式调度系统本身不难,难的是如何提供友好的交互,包括灵活的任务组织、提交、更新、日常任务维护等。更为重要的是调度引擎和执行引擎的稳定性,在这方面 Airflow 提供的方案很值得借鉴和学习。同时 Airflow 基于 Python 编写,为开发效率和快速验证思路带来了较大优势,在实际使用过程中,如何基于默认配置去调优都少不了对其调度流程和原理的掌握,本篇文章就为有志于从源码级别去了解其工作流程和优化的朋友准备的。

通过本篇文章,您可以了解到:

  1. DAG 的加载、解析以及任务实例的生成方式
  2. Airflow 如何定时调度,提交任务到 Celery 或者 Mesos 集群
  3. Airflow worker 是如何执行派发下来的任务
172 人已订阅
会员免费看
¥6 原价订阅
关注提示×
扫码关注公众号,获得 Chat 最新进展通知!
入群与作者交流×
扫码后回复关键字 入群
Chat·作者交流群
入群码
该二维码永久有效
严选标准
知道了
Chat 状态详情
开始预订
预订结果公布19.10.21

预订达标,作者开始写作

审核未达标,本场 Chat 终止

作者文章审核结果公布19.11.28

审核达标,文章发布

审核未达标,本场 Chat 终止

Chat 完结
×
已购列表