Restate logo

Restate

Restate is a lightweight durable execution runtime for building resilient services, workflows and AI agents, with SDKs for TypeScript, Java, Kotlin, Python, Go and Rust.

TypeScriptJavaPythonGoRustDurable ExecutionMicroservices
Stars
4,541
Forks
217
Contributors
51
Latest
1.7.13

About Restate

Restate sits in front of your services as a single-binary server written in Rust. It persists every invocation and the results of side effects in a journal, so handlers resume exactly where they left off after crashes, deploys or timeouts. Beyond workflows, Restate offers durable RPC between services, virtual objects (keyed, stateful entities with single-writer semantics), durable timers and promises, and idempotent request handling. Services run anywhere, including containers, Kubernetes or serverless platforms like AWS Lambda.

Key Features

Durable execution via a persistent journal of steps and side effects
Durable RPC and messaging between services
Virtual objects: keyed, stateful entities with single-writer guarantees
Workflows with durable timers, promises and signals
Idempotency keys and exactly-once semantics for handlers
Single binary server; services run on containers, Kubernetes or AWS Lambda
UI and CLI for inspecting invocations and state

Pros

Lightweight: one binary, no external database required
Low latency suitable for request/response paths, not just background jobs
Unified model for workflows, RPC and state
Works well with serverless deployments

Cons

Server uses the Business Source License rather than an OSI license
Younger project with a smaller community
Requires adopting the SDK programming model in services
Fewer production case studies than Temporal

Tool Information

Language
Rust (server); SDKs for TypeScript, Java, Kotlin, Python, Go, Rust
License
Business Source License 1.1 (server); SDKs MIT
First release
2023 (1.0 in 2024)
Latest version
1.7.13
Maintainer
Restate GmbH

Compare Restate with other tools

See how Restate stacks up against other workflow orchestration engines, feature by feature.