A distributed, scalable, and highly available orchestration engine for executing asynchronous long-running business logic.
Cadence is a distributed orchestration engine that executes asynchronous, long-running business logic in a scalable and resilient way. It solves the problem of managing complex workflows across microservices by providing fault tolerance, state persistence, and automatic recovery. Developers define workflows using SDKs, and Cadence handles the execution, retries, and durability.
Backend and platform engineers building microservices architectures that require reliable execution of long-running processes, such as order processing, data pipelines, or multi-step business transactions.
Developers choose Cadence for its battle-tested reliability at scale, native support for multi-language workflows, and comprehensive tooling for observability and operations. It eliminates the need to manually implement complex state management and failure handling in distributed systems.
Cadence is a distributed, scalable, durable, and highly available orchestration engine to execute asynchronous long-running business logic in a scalable and resilient way.
Automatically handles failures and retries with persistent state storage in Cassandra, MySQL, or PostgreSQL, ensuring workflow completion even in distributed environments, as highlighted in the key features.
Offers official Go and Java SDKs for robust implementation, with community-supported Python and Ruby options, providing flexibility for diverse tech stacks, as noted in the client libraries section.
Includes a Web UI for visual monitoring and a CLI for operational management, making it easy to track and debug long-running workflows, demonstrated in the getting started guide with localhost:8088 access.
Designed to execute business logic that spans hours to months, with built-in mechanisms for state recovery and durability, addressing complex microservices orchestration needs.
Requires deploying multiple backend services, a database, and optional Kafka+Elasticsearch, as outlined in the getting started guide, increasing deployment and maintenance overhead significantly.
Python and Ruby SDKs are community-supported, which may lead to inconsistent updates, fewer features, and potential stability issues compared to the official Go and Java SDKs.
Involves understanding distributed systems concepts and Cadence's workflow model, with documentation spread across multiple repos, making it challenging for newcomers to onboard quickly.
Apache Airflow - A platform to programmatically author, schedule, and monitor workflows
Prefect is a workflow orchestration framework for building resilient data pipelines in Python.
Temporal service
Workflow Engine for Kubernetes
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.