Introduction to Cadence
Cadence is an open-source platform for building and running scalable, fault-tolerant, and long-running workflows. Since 2017, Cadence has been empowering developers to write complex distributed applications as simple procedural code.What is Cadence?
Cadence Workflow is a distributed orchestration engine that executes asynchronous, long-running business logic in a scalable and resilient way. It allows you to write your workflow logic as straightforward procedural code, while Cadence handles:- Fault tolerance: Automatic retries and error handling
- State persistence: Workflow state is automatically persisted and recovered
- Scalability: Distribute workload across multiple workers
- Visibility: Track and query workflow execution history
- Versioning: Safe deployment of workflow code changes
Key Use Cases
Cadence excels at orchestrating complex, distributed operations:Microservice Orchestration
Coordinate multiple microservices into reliable, long-running business processes
Data Pipelines
Build resilient ETL workflows that handle failures and retries automatically
Infrastructure Provisioning
Orchestrate complex deployment and provisioning workflows with automatic rollback
Human-in-the-Loop
Implement approval workflows that wait for human input for days or weeks
Core Benefits
Fault Tolerance by Design
Cadence automatically handles failures at every level:Durable Execution
Workflow state is automatically persisted. Your workflows can:- Sleep for days, months, or years
- Survive process restarts and deployments
- Resume exactly where they left off after any failure
Simple Programming Model
Architecture Overview
Cadence consists of multiple services that work together to provide a robust workflow orchestration platform.
- Frontend Service: Handles all client API requests
- History Service: Maintains workflow execution state and history
- Matching Service: Routes tasks to workers via task lists
- Worker Service: Handles internal background operations
- Database: Stores workflow state (Cassandra, MySQL, PostgreSQL, or MongoDB)
- Workers: Your application code that executes workflows and activities
Getting Started
Ready to build your first workflow? Here’s what you need:Install Cadence
Set up the Cadence server locally using Docker or build from sourceLearn more in the Installation Guide
Run Your First Workflow
Follow our quickstart to run a complete working exampleStart with the Quickstart Guide
Client SDKs
Cadence provides official client libraries for implementing workflows:Go SDK
Official Cadence Go client for building workflow workers
Java SDK
Official Cadence Java client for building workflow workers
Community and Support
Join the Cadence community:- GitHub Discussions: Ask questions and share ideas
- Slack: Join #cadence-users on CNCF Slack
- StackOverflow: Browse cadence-workflow tagged questions
- GitHub Issues: Report bugs and request features
Learn More
Quickstart
Run your first Cadence workflow in minutes
Installation
Set up Cadence in your environment
Architecture
Deep dive into Cadence’s architecture
Concepts
Understand workflows, activities, and more