gitmyhub

conductor

Java ★ 13k updated 2y ago ▣ archived

Conductor is a microservices orchestration engine.

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.

JavaSpring BootRedisElasticsearchNode.jssetup: hardcomplexity 4/5

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.

Where it fits