Airflow 可以扩展多少?
How much can Airflow scale?
有没有人报告过他们在多大程度上能够让 Airflow 在他们的公司扩大规模?我正在考虑实施 Airflow 以执行 5,000 多个任务,每个任务每小时 运行,并且有朝一日将其扩展到 20,000 多个任务。在检查调度程序时,它看起来可能是一个瓶颈,因为它只有一个实例可以 运行,而且我担心调度程序将难以跟上那么多任务。我应该吗?
我们公司每天 运行 执行数千项任务,并且在 2 年的大部分时间里一直在使用 Airflow。这些 dags 运行 每 15 分钟一次,并且是通过可以随时更改的配置文件生成的(来自 UI)。
简短的回答 - 是的,它绝对可以扩展到那个,具体取决于您的基础架构。一些新的 1.10 功能应该比我们 运行 的 1.8 版本更容易完成所有这些任务。我们 运行 在一个大型 Mesos/DCOS 上进行此操作,经过大量微调才能达到稳定点。
长答案 - 虽然它可以扩展到那个,但我们发现更好的解决方案是 多个 Airflow 实例配置(调度程序设置、工作人员数量等)针对它们 运行ning 的类型进行了优化。一组 运行 长 运行ning 机器学习作业的 DAG 应该托管在不同于 运行ning 5 分钟 ETL 作业的 Airflow 实例上。这也使不同的团队更容易维护他们负责的工作,并更容易迭代所需的任何微调。
有没有人报告过他们在多大程度上能够让 Airflow 在他们的公司扩大规模?我正在考虑实施 Airflow 以执行 5,000 多个任务,每个任务每小时 运行,并且有朝一日将其扩展到 20,000 多个任务。在检查调度程序时,它看起来可能是一个瓶颈,因为它只有一个实例可以 运行,而且我担心调度程序将难以跟上那么多任务。我应该吗?
我们公司每天 运行 执行数千项任务,并且在 2 年的大部分时间里一直在使用 Airflow。这些 dags 运行 每 15 分钟一次,并且是通过可以随时更改的配置文件生成的(来自 UI)。
简短的回答 - 是的,它绝对可以扩展到那个,具体取决于您的基础架构。一些新的 1.10 功能应该比我们 运行 的 1.8 版本更容易完成所有这些任务。我们 运行 在一个大型 Mesos/DCOS 上进行此操作,经过大量微调才能达到稳定点。
长答案 - 虽然它可以扩展到那个,但我们发现更好的解决方案是 多个 Airflow 实例配置(调度程序设置、工作人员数量等)针对它们 运行ning 的类型进行了优化。一组 运行 长 运行ning 机器学习作业的 DAG 应该托管在不同于 运行ning 5 分钟 ETL 作业的 Airflow 实例上。这也使不同的团队更容易维护他们负责的工作,并更容易迭代所需的任何微调。