Repolode
Netflix

Netflix/maestro

Netflix 开源的通用工作流编排器,用于调度和运行数据与机器学习流水线。

可替代:Apache Airflow

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. 1

    安装前置条件:Git、Java 21、Gradle 和 Docker

  2. 2

    构建项目

    ./gradlew build
  3. 3

    运行服务器

    ./gradlew bootRun
  4. 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 数据每日更新。

相关项目