Why Cadence?
Event-Sourced State
Workflows resume seamlessly from exact points of failure using execution history logs.
No External Message Queues
Eliminate SQS/RabbitMQ management: Cadence handles task matching and queuing natively.
Pluggable Persistence
Scalable storage backend support for Cassandra, PostgreSQL, MySQL, and OpenSearch.
Powering mission-critical workflows at companies like Uber, DoorDash, and NetApp.
Explore Cadence Architecture & Core Concepts →What's new?
DocBatch Future
Use the Cadence Go client to process activities or child workflows with a bounded concurrency limit.
Learn more →
BlogBatch Actions UI
Cadence Web now supports Batch Actions, letting operators terminate, signal, or cancel entire groups of workflows directly from the browser.
Read post →
BlogCadence Schedules
Cadence Schedules bring first-class recurring workflow execution to the platform with overlap policies, backfill, pause/unpause, and full observability, all without touching your workflow code.
Read post →
DocSchedules
Cadence Schedules let you run workflows on a recurring cadence with overlap policies, backfill, pause/unpause, and catch-up, without writing any scheduling glue code in your workflow.
Learn more →
VideoCustom Workflow Controls
What if your workflow could tell operators exactly what's happening, and let them take action, right from the Cadence Web UI?
Watch video →
BlogEncrypt History Payloads
AES-256-GCM encryption makes Cadence history payloads opaque, but the DataConverter only covers part of the data surface.
Read post →
FAQCadence FAQ
Answers to common questions about Cadence: what it is, how workflows and activities differ, how failures are handled, and when to use it instead of a message queue.
Read FAQ →
FAQMigrate from Temporal
Practical guide for migrating Go or Java applications from Temporal to Cadence: SDK package mapping, concept renames, and client setup differences.
Read FAQ →
CommunityCadence Community
Subscribe for release notes and community news, or reach the team on Slack and GitHub.
Get involved →
BlogBypass the 2 MB Limit
The claim-check pattern offloads large Cadence payloads to an external blob store so only a tiny reference travels through workflow history.
Read post →
BlogHistory Data Converters
Cadence writes every workflow input, activity parameter, signal, and query response into history as JSON. A custom DataConverter can add compression, encryption, or claim-check offload without changing workflow code.
Read post →
DocWorkflow Engine
Cadence is an open-source workflow engine for Go, Java, and Python: fault-tolerant, stateful, and built for long-running distributed applications.
Learn more →
DocOpen Source Workflow Engine
Cadence is an open-source, self-hostable workflow engine for durable, fault-tolerant distributed applications. Deploy on SQLite, Docker, or Kubernetes.
Learn more →
BlogPython Signal Handling
Learn how to register a workflow signal handler and send signals to a running workflow using the Cadence Python client.
Read post →
BlogTwo Hidden Matching Deadlocks
How the new Cadence Shard Manager found and mitigated two latent deadlocks in the Matching service in a single day.
Read post →
FAQCadence Best Practices
Answers to common questions and recommended patterns for building reliable, maintainable Cadence workflows and activities.
Read FAQ →
DocDeploy Cadence with Helm
A codelab for deploying Cadence on Google Kubernetes Engine using Helm with PostgreSQL, Kafka, and OpenSearch for advanced visibility.
Start codelab →
DocData Converters
Implement custom Cadence DataConverters to compress, encrypt, serialize, or offload workflow payloads using the Go and Java samples.
Learn more →
DocWorkflow Replayer Tests
A codelab on writing Go tests for Cadence workflows using the Workflow Replayer and Shadower to catch non-deterministic changes.
Start codelab →
Get involved!
Join our open-source community
