Cadence
Distributed, scalable, durable, and highly available orchestration engine from Uber.
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.
Learn Cadence by building
Practical setup notes, real use cases, and copy-ready examples in one focused guide.
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
git clone https://github.com/uber/cadence.gitcd cadencedocker compose up -dAccess the Cadence Web UI on http://localhost:8088 to monitor active workflow executions, event histories, and activity task retries.
Writing a Go Workflow
func OrderWorkflow(ctx workflow.Context, orderID string) error { ao := workflow.ActivityOptions{ ScheduleToStartTimeout: time.Minute, StartToCloseTimeout: time.Minute, } ctx = workflow.WithActivityOptions(ctx, ao) var result string err := workflow.ExecuteActivity(ctx, ProcessPaymentActivity, orderID).Get(ctx, &result) return err}Cadence is distributed under the permissive MIT License.
Related tools
More options with a similar category or technology profile.
diskus
Minimal, fast alternative to du -sh written in Rust using multi-threaded directory traversal.
peco
Simplistic interactive filtering tool for Unix pipelines, process lists, and file trees.
Dapr CLI
Command-line tool for managing Dapr distributed application runtime environments and sidecars.
Freeze
Generate beautiful image screenshots and SVGs of code snippets and terminal outputs.