Resilient Orchestration
Build microservices that automatically recover from failures without losing progress:- Automatic recovery: Code resumes exactly where it left off after failures
- Standard development: Write services like regular HTTP APIs
- Resilient Sagas: Implement complex multi-step transactions with resilient rollback
Reliable Communication & Idempotency
Flexible communication patterns with strong delivery guarantees:
- Zero message loss: All service communication is durably logged
- Built-in retries: Automatic exponential backoff for transient failures
- Scheduling: Delay messages for future processing
- Request deduplication: Idempotency keys prevent duplicate processing
Code example
Code example
Durable Stateful Entities
Manage stateful entities without external databases or complex consistency mechanisms:
- Durable persistence: Application state survives crashes and deployments
- Simple concurrency model: Single-writer semantics prevent consistency issues and race conditions
- Horizontal scaling: Each object has its own message queue. Different entity keys process independently
- Built-in querying: Access state via UI and APIs
Code example
Code example
Operational simplicity
Reduce infrastructure complexity (no need for queues + state stores + schedulers, etc.). A single binary including everything you need.
Key Orchestration Patterns
Sagas
Implement resilient rollback logic for non-transient failures
Database interaction
Use Durable Execution to make database operations resilient and consistent
Parallel Processing
Execute independent operations concurrently while maintaining durability
Durable RPC, Idempotency & Concurrency
Call other services with guaranteed delivery, retries, and deduplication
Event-Driven Coordination
Wait for external events and webhooks with promises that survive crashes
Durable State Machines
Implement consistent state machines that survive crashes and restarts
Comparison with Other Solutions
Feature | Restate | Traditional Orchestration |
---|---|---|
Infrastructure | Single binary deployment | Message brokers + workflow engines + state stores |
Service Communication | Built-in reliable messaging | External message queues required |
State Management | Integrated durable state | External state stores + locks |
Failure Recovery | Automatic progress recovery | Manual checkpoint/restart logic |
Deployment Model | Standard HTTP services | Standard HTTP services |
Development Experience | Regular code + IDE support | Regular code + IDE support |
Observability | Built-in UI & execution tracing | Manual setup |