Repolode
Netflix

Netflix/maestro

Orquestrador de workflows de uso geral da Netflix, oferecido como workflow-as-a-service para agendar e executar pipelines de dados e ML.

Alternativa open source a:Apache Airflow

Estrelas
3,852
Forks
311
Issues abertas
39
Último commit
ontem

O que é?

O Maestro é um orquestrador de workflows criado originalmente na Netflix para executar pipelines de dados e machine learning. Os usuários definem workflows como grafos acíclicos direcionados (DAGs) de jobs e, em seguida, agendam, iniciam e monitoram esses workflows por meio de uma API de servidor. O projeto é escrito em Java e executado no Spring Boot.

O servidor disponibiliza uma API REST versionada para criar workflows, iniciar execuções e consultar instâncias e execuções de etapas. Os workflows podem ser enviados em YAML ou JSON, e um SDK Python (maestro-sdk) oferece um builder para defini-los em código. As instruções de configuração incluem um exemplo de fluxo para compilar, executar e acionar workflows.

O repositório inclui um módulo AWS que funciona localmente com LocalStack para SQS e SNS, além de uma opção com Kubernetes para executar jobs. Um serviço opcional, o maestro-extensions, consome eventos do servidor para oferecer visualizações como etapas foreach achatadas.

Recursos principais

  • 01Define workflows como DAGs de jobs, enviados em YAML ou JSON.
  • 02Disponibiliza uma API REST versionada para criar, iniciar e inspecionar workflows e execuções.
  • 03Oferece um SDK Python para criar e enviar workflows.
  • 04Dá suporte à integração com AWS por meio do processamento de eventos SQS e SNS.
  • 05Pode executar jobs no Kubernetes.
  • 06Oferece um serviço de extensões com visualizações achatadas de foreach.

Casos de uso

  • Agendar pipelines recorrentes de ETL ou ELT para engenharia de dados.
  • Orquestrar workflows de treinamento de machine learning e scoring em lote.
  • Executar grandes volumes de jobs de dados com um serviço de workflows gerenciado e controlado por API.
  • Avaliar um mecanismo de workflows no estilo Netflix para uma plataforma interna de dados.

Início rápido

  1. 1

    Instale os pré-requisitos: Git, Java 21, Gradle e Docker

  2. 2

    Compile o projeto

    ./gradlew build
  3. 3

    Execute o servidor

    ./gradlew bootRun
  4. 4

    Crie um fluxo de trabalho de exemplo pela 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

Antes de usar

  • Java 21, Gradle e Docker são necessários para compilar e executar o projeto.
  • Foi projetado como uma plataforma interna de grande escala; hospedar por conta própria exige trabalho de configuração.
  • Alguns recursos, como o modo AWS, precisam do Docker Compose e do LocalStack para testes locais.

Tópicos

Perguntas frequentes

O que é maestro?
Orquestrador de workflows de uso geral da Netflix, oferecido como workflow-as-a-service para agendar e executar pipelines de dados e ML. O Maestro é um orquestrador de workflows criado originalmente na Netflix para executar pipelines de dados e machine learning. Os usuários definem workflows como grafos acíclicos direcionados (DAGs) de jobs e, em seguida, agendam, iniciam e monitoram esses workflows por meio de uma API de servidor. O projeto é escrito em Java e executado no Spring Boot.
maestro é gratuito? Qual é a licença?
maestro é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
maestro ainda é mantido?
Manutenção ativa. O último commit de maestro foi em 6 de nov. de 2026.
Para que posso usar maestro?
Agendar pipelines recorrentes de ETL ou ELT para engenharia de dados. Orquestrar workflows de treinamento de machine learning e scoring em lote. Executar grandes volumes de jobs de dados com um serviço de workflows gerenciado e controlado por API. Avaliar um mecanismo de workflows no estilo Netflix para uma plataforma interna de dados.
Como instalar maestro?
Instale os pré-requisitos: Git, Java 21, Gradle e Docker Compile o projeto: ./gradlew build Execute o servidor: ./gradlew bootRun Crie um fluxo de trabalho de exemplo pela 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
Onde consigo maestro?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/Netflix/maestro

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados