TiloBox
Back to directory
Cadence project preview

Cadence

Distributed, scalable, durable, and highly available orchestration engine from Uber.

LicenseMIT
GitHub stars8.2k
Last commit2 weeks ago
Tags6 topics
StatefulWorkflow OrchestrationUberMicroservicesDistributed SystemsGolang
Overview

Why consider Cadence?

Cadence is a distributed orchestration engine developed by Uber. It allows engineers to write fault-tolerant, stateful long-running workflows as standard code in Go, Java, or Python.

Guided learning

Learn Cadence by building

Practical setup notes, real use cases, and copy-ready examples in one focused guide.

1 min read 3 sections
In this guide3 sections

Overview of Cadence

Cadence abstracts the complexity of distributed systems: automatic state persistence, timeouts, retries, saga compensation transactions, and distributed cron execution. Developed at Uber, it powers mission-critical business transactions that survive infrastructure failures and service restarts seamlessly.

Quickstart with Docker Compose

bash
1git clone https://github.com/uber/cadence.git
2cd cadence
3docker compose up -d

Access the Cadence Web UI on http://localhost:8088 to monitor active workflow executions, event histories, and activity task retries.

Writing a Go Workflow

go
1func OrderWorkflow(ctx workflow.Context, orderID string) error {
2 ao := workflow.ActivityOptions{
3 ScheduleToStartTimeout: time.Minute,
4 StartToCloseTimeout: time.Minute,
5 }
6 ctx = workflow.WithActivityOptions(ctx, ao)
7
8 var result string
9 err := workflow.ExecuteActivity(ctx, ProcessPaymentActivity, orderID).Get(ctx, &result)
10 return err
11}

Cadence is distributed under the permissive MIT License.

Related tools

More options with a similar category or technology profile.

Cadence FAQs

Cadence is listed as a Developer Tools tool on TiloBox. Review the overview, features, and official documentation on this page to decide whether it solves your specific workflow.

Start with the project's GitHub repository and official website for supported installation and deployment instructions. Test the setup with representative data or a small project before rolling it out more widely.

Cadence is listed under the MIT license. Read the complete license text and the project's notices before using, modifying, or distributing the software.

Production readiness depends on your requirements. Review maintenance activity, security practices, documentation, backup and upgrade procedures, and compatibility with your stack; then validate it in a non-production environment.

Cadence is listed as an alternative to AWS Step Functions. Compare the core workflow, deployment model, integrations, and licensing against your must-have requirements before switching.