Apache Airflow 是一个用代码编写、调度和监控工作流的平台,工作流以 Python 定义为 Dag。
- Star
- 3,852
- Fork
- 311
- 未关闭 Issue
- 39
- 最近提交
- 22小时前
这是什么?
Maestro 是 Netflix 开发的通用工作流编排器,用于运行数据和机器学习流水线。用户以有向无环图(DAG)的形式定义由多个 job 组成的工作流,再通过服务端 API 进行调度、启动和监控。项目使用 Java 编写,基于 Spring Boot 运行。
服务端提供带版本号的 REST API,用于创建工作流、触发运行以及查询工作流实例和步骤运行状态。工作流可以以 YAML 或 JSON 形式提交,同时提供 Python SDK(maestro-sdk),支持用代码构建工作流定义。
仓库包含基于 LocalStack 的 AWS 模块,可在本地模拟 SQS 和 SNS;也支持通过 Kubernetes 执行任务。可选的 maestro-extensions 服务会订阅服务端事件,提供如 foreach 步骤展开等扩展视图。
核心功能
- 01以 DAG 形式定义工作流,支持 YAML 或 JSON 提交。
- 02提供版本化 REST API,用于创建、启动和查看工作流及运行实例。
- 03提供 Python SDK,用于构建并推送工作流。
- 04通过 SQS 和 SNS 支持 AWS 事件集成。
- 05支持在 Kubernetes 上执行任务。
- 06提供扩展服务,用于 foreach 步骤的展开视图。
适用场景
- 调度周期性的数据工程 ETL 或 ELT 流水线。
- 编排机器学习训练与批量打分工作流。
- 通过 API 驱动的工作流服务运行大量数据任务。
- 为内部数据平台评估类似 Netflix 的工作流引擎。
快速上手
- 1
安装前置条件:Git、Java 21、Gradle 和 Docker
- 2
构建项目
./gradlew build - 3
运行服务器
./gradlew bootRun - 4
通过 API 创建示例工作流
curl --header "user: tester" -X POST 'http://127.0.0.1:8080/api/v3/workflows' -H "Content-Type: application/json" -d @maestro-server/src/test/resources/samples/sample-dag-test-1.json
使用前须知
- 构建和运行需要 Java 21、Gradle 和 Docker。
- 项目面向 Netflix 内部大规模平台设计,自行部署需要较多配置工作。
- AWS 模式等功能在本地测试时需要 Docker Compose 和 LocalStack。
标签
常见问题
- maestro 是什么?
- Netflix 开源的通用工作流编排器,用于调度和运行数据与机器学习流水线。 Maestro 是 Netflix 开发的通用工作流编排器,用于运行数据和机器学习流水线。用户以有向无环图(DAG)的形式定义由多个 job 组成的工作流,再通过服务端 API 进行调度、启动和监控。项目使用 Java 编写,基于 Spring Boot 运行。
- maestro 可以免费使用吗?用的什么许可证?
- maestro 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
- maestro 还在维护吗?
- 活跃维护中。maestro 最近一次提交是在 2026年11月6日。
- maestro 适合用来做什么?
- 调度周期性的数据工程 ETL 或 ELT 流水线。 编排机器学习训练与批量打分工作流。 通过 API 驱动的工作流服务运行大量数据任务。 为内部数据平台评估类似 Netflix 的工作流引擎。
- maestro 怎么安装和运行?
- 安装前置条件:Git、Java 21、Gradle 和 Docker 构建项目: ./gradlew build 运行服务器: ./gradlew bootRun 通过 API 创建示例工作流: curl --header "user: tester" -X POST 'http://127.0.0.1:8080/api/v3/workflows' -H "Content-Type: application/json" -d @maestro-server/src/test/resources/samples/sample-dag-test-1.json
- 在哪里获取 maestro?
- 源代码和安装说明在 GitHub 上:https://github.com/Netflix/maestro
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
4.7万+71 本周1.8万PythonApache-2.0更新于 20小时前
开源的事件驱动编排平台,用 YAML 定义并调度数据、AI 与基础设施工作流。
3万+78 本周3508JavaApache-2.0维护活跃更新于 20小时前
用于定义、运行和监控数据资产(表、数据集、机器学习模型、报表)的 Python 编排平台。
1.6万+20 本周2399PythonApache-2.0更新于 22小时前
基于 Rust 引擎的 Python ETL 框架,用于流处理、实时分析、LLM 管道和 RAG。
6.2万1708PythonOther维护活跃更新于 昨天
一个分布式、低代码的数据编排平台,用于构建、调度和监控复杂的数据管道工作流。
1.5万+7 本周5123JavaApache-2.0维护活跃更新于 昨天
面向 Kubernetes 的容器原生工作流引擎,用于编排并行任务。
1.7万+13 本周3727GoApache-2.0更新于 21小时前