Apache Airflow 具有高度可扩展性,其插件接口可用于满足各种用例。它支持多种部署模型,并拥有一个非常活跃的社区来促进创新规模化。

Raman Gupta

问题是什么?

现代大数据平台需要复杂的数据管道,连接到许多后端服务以支持复杂的工作流。这些工作流需要部署、监控,并按预定时间表运行或由外部事件触发。Adobe Experience Platform 组件服务架构并构建了一个编排服务,使其用户能够编写、调度和监控 Apache Spark™ 和非 Spark 作业的复杂层次化(包括顺序和并行)工作流。

Apache Airflow 如何帮助解决此问题?

Adobe Experience Platform 构建了一个编排服务,以满足我们用户和客户的需求。该服务的架构基于指导原则,旨在利用现成的开源编排引擎,通过 API 抽象到其他服务,并通过可插拔框架扩展到任何应用程序。Adobe Experience Platform 编排服务利用 Apache Airflow 执行引擎来调度和执行各种工作流。Apache Airflow 具有高度可扩展性,并在 K8s Executor 的支持下,可以扩展以满足我们的需求。它拥有一个非常丰富的 Airflow Web UI,提供各种与工作流相关的洞察。Airflow 活跃的社区能够解决问题和处理不同的功能请求,这也使其对我们更具吸引力。

结果如何?

Adobe Experience Platform 正在使用 Apache Airflow 的插件接口编写自定义 Operator 以满足我们的用例。借助于 K8s Executor,我们可以将其扩展到运行数千个并发工作流。Adobe 和 Adobe Experience Platform 团队可以专注于业务用例,因为所有的调度、依赖关系管理和重试逻辑都已卸载到 Apache Airflow。