Repolode
Netflix

Netflix/maestro

Универсальный оркестратор workflow от Netflix для планирования и запуска конвейеров данных и ML в формате workflow-as-a-service.

Open source альтернатива:Apache Airflow

Звёзды
3,853
Форки
311
Открытые issues
39
Последний коммит
вчера

Что это?

Maestro — оркестратор workflow, изначально созданный в Netflix для запуска конвейеров данных и машинного обучения. Пользователи описывают workflow как ориентированные ациклические графы (DAG) заданий, а затем планируют, запускают и отслеживают их через API сервера. Проект написан на Java и работает на Spring Boot.

Сервер предоставляет версионируемый REST API для создания workflow, запуска задач и получения сведений об экземплярах и запусках шагов. Workflow можно загружать в формате YAML или JSON, а Python SDK (maestro-sdk) позволяет собирать их в коде. В инструкциях по настройке приведён пример полного цикла сборки, запуска и активации.

В репозитории есть модуль AWS, который локально работает с LocalStack для SQS и SNS, а также вариант выполнения заданий в Kubernetes. Дополнительный сервис maestro-extensions обрабатывает события сервера и предоставляет представления, например развёрнутые foreach-шаги.

Ключевые возможности

  • 01Описывает workflow как DAG из заданий, передаваемые в формате YAML или JSON.
  • 02Предоставляет версионируемый REST API для создания, запуска и просмотра workflow и запусков.
  • 03Предлагает Python SDK для создания и отправки workflow.
  • 04Поддерживает интеграцию с AWS через обработку событий SQS и SNS.
  • 05Позволяет выполнять задания в Kubernetes.
  • 06Предоставляет сервис расширений с представлениями, разворачивающими foreach.

Сценарии использования

  • Планирование регулярных ETL- или ELT-конвейеров для инженерии данных.
  • Оркестрация workflow для обучения моделей машинного обучения и пакетного скоринга.
  • Запуск большого количества заданий обработки данных через управляемый сервис workflow с API.
  • Оценка workflow-движка в стиле 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.
  • Проект создан как крупная внутренняя платформа; для самостоятельного хостинга потребуется настроить окружение.
  • Для локального тестирования некоторых функций, например режима AWS, нужны Docker Compose и LocalStack.

Темы

Частые вопросы

Что такое maestro?
Универсальный оркестратор workflow от Netflix для планирования и запуска конвейеров данных и ML в формате workflow-as-a-service. Maestro — оркестратор workflow, изначально созданный в Netflix для запуска конвейеров данных и машинного обучения. Пользователи описывают workflow как ориентированные ациклические графы (DAG) заданий, а затем планируют, запускают и отслеживают их через API сервера. Проект написан на Java и работает на Spring Boot.
maestro можно использовать бесплатно? Какая у него лицензия?
maestro распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
maestro всё ещё поддерживается?
Активно поддерживается. Последний коммит в maestro — 5 нояб. 2026 г..
Для чего можно использовать maestro?
Планирование регулярных ETL- или ELT-конвейеров для инженерии данных. Оркестрация workflow для обучения моделей машинного обучения и пакетного скоринга. Запуск большого количества заданий обработки данных через управляемый сервис workflow с API. Оценка workflow-движка в стиле 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

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Платформа оркестрации с открытым исходным кодом для запуска событийных и запланированных рабочих процессов с данными, ИИ и инфраструктурой, описанных в YAML.

30,2 тыс.+87 за неделю3,5 тыс.JavaApache-2.0Активно поддерживаетсяОбновлён 15 часов назад

Распределённая low-code-платформа для оркестрации данных: помогает создавать, планировать и отслеживать сложные конвейеры обработки данных.

14,6 тыс.+13 за неделю5,1 тыс.JavaApache-2.0Активно поддерживаетсяОбновлён вчера