explaingit

netflix/conductor

12,774JavaAudience · ops devopsComplexity · 4/5LicenseSetup · hard

TLDR

A workflow orchestration server originally built at Netflix that sequences multi-step business processes across separate services, defining each step in JSON or code, tracking execution, handling retries, and routing data automatically.

Mindmap

mindmap
  root((repo))
    What it does
      Workflow orchestration
      Multi-step processes
      Retry and routing
    Tech Stack
      Java Spring Boot
      Redis state store
      Elasticsearch history
    Interfaces
      Browser UI
      REST and gRPC API
    Status
      Archived Dec 2023
      Community forks active
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Orchestrate a multi-step order process, charge payment, send confirmation email, update inventory, across separate microservices with automatic retry on failure

USE CASE 2

Troubleshoot long-running workflows using the browser UI that shows each step's status, inputs, outputs, and failure reason

Tech stack

JavaSpring BootRedisElasticsearchNode.js

Getting it running

Difficulty · hard Time to first run · 1day+

Requires Java 17, Redis, and Elasticsearch, the official Netflix repo is archived, use community forks for active support and bug fixes.

Use freely for any purpose, including commercial use, as long as you keep the copyright notice (Apache 2.0).

In plain English

Netflix/conductor is a workflow orchestration platform originally built inside Netflix to coordinate work across many separate services. When a business process requires multiple steps handled by different parts of a system (for example: charging a payment, then sending a confirmation email, then updating inventory), Conductor ties those steps together into a defined workflow and manages their execution. Workflows are described either in JSON (a structured text format) or in code using one of the official SDKs. Once defined, Conductor tracks each step, retries failed ones, and routes data between steps automatically. This makes it easier to build long-running, multi-step business processes without writing custom coordination logic by hand. The server is a Java application built on Spring Boot (a standard Java web framework). It stores state in Redis by default and uses Elasticsearch for searching and indexing workflow history. A browser-based UI lets teams view running workflows, inspect past runs, and troubleshoot failures. There are also gRPC and REST APIs for integrating with other services, plus modules for AWS storage and message queuing. One important note: Netflix officially stopped maintaining this repository in December 2023. The code remains public, and community members have created active forks that continue development, but the original Netflix team no longer accepts pull requests or provides support. If you are considering using Conductor, you should look at the community forks linked in the discussion forum rather than this archive. The repository is open source under the Apache 2.0 license. Building from source requires Java 17 or later, and the UI requires Node.js 14.

Copy-paste prompts

Prompt 1
Define a Conductor workflow in JSON that charges a payment, then sends a confirmation email, then updates inventory, with retry logic and a timeout on each step
Prompt 2
Set up a Netflix Conductor server with Docker Compose using Redis and Elasticsearch and register a Java worker that polls for tasks
Prompt 3
Show me how to use the Conductor REST API to start a workflow instance, pass input parameters, and poll its status until it completes
Open on GitHub → Explain another repo

← netflix on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.