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 的插件接口编写自定义算子,以满足我们的使用场景。借助 K8s Executor,我们可以将其扩展到运行数千个并发工作流。Adobe 与 Adobe Experience Platform 团队可以专注于业务用例,因为所有调度、依赖管理和重试逻辑都已交由 Apache Airflow 处理。