Apache Airflow 具有高度的可扩展性,其插件接口可用于满足各种使用案例。它支持多种部署模型,并拥有一个非常活跃的社区来扩展创新。
问题是什么?
现代大数据平台需要连接到许多后端服务的复杂数据管道,以支持复杂的工作流程。这些工作流程需要在定期计划上部署、监控和运行,或者由外部事件触发。Adobe Experience Platform 组件服务架构并构建了一个编排服务,使其用户能够为 Apache Spark (TM) 和非 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,我们可以将其扩展到运行 1000 个(甚至更多)并发工作流程。Adobe 和 Adobe Experience Platform 团队可以专注于业务用例,因为所有调度、依赖关系管理和重试逻辑都卸载到了 Apache Airflow。