Go framework for authoring workflows and activities on the Cadence orchestration engine.
Cadence Go client is a framework for authoring workflows and activities that run on the Cadence orchestration engine. It enables developers to build scalable, durable, and highly available asynchronous long-running business logic by abstracting away complex coordination and failure handling. The framework provides a Go-native API for defining workflows as functions with built-in state persistence and recovery.
Go developers building distributed systems, microservices, or business processes that require reliable execution, fault tolerance, and complex coordination across services.
Developers choose Cadence Go client because it provides a simple programming model for complex distributed workflows, eliminating the need to manually handle retries, timeouts, and state persistence. Its tight integration with the Cadence engine offers proven scalability and resilience from Uber's production experience.
Framework for authoring workflows and activities running on top of the Cadence orchestration engine.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Workflows are defined as Go functions with automatic state persistence, enabling recovery from failures without manual code, as per the workflow authoring feature that supports durable execution.
Provides built-in retries, timeouts, and error recovery for activities, abstracting complex distributed system challenges, highlighted in the resilient execution feature.
Leverages Cadence's distributed engine for high availability and horizontal scaling, proven in Uber's production, ensuring it handles large-scale loads reliably.
Offers a simple Go-native interface for defining workflows and activities, making complex coordination accessible, as emphasized in the philosophy for productivity.
Requires setting up and managing the separate Cadence server, adding deployment and maintenance complexity beyond the client library itself.
Tightly coupled with the Cadence engine, making migration to alternatives like Temporal difficult without significant rework of workflow logic.
Only supports Go, lacking client libraries for other languages, which can hinder adoption in polyglot microservices environments.
Documentation is hosted externally on cadenceworkflow.io, leading to potential issues with outdated or hard-to-find information, as noted in the README links.