Durable, suspendable RPC handlers
Write RPC handlers that execute reliably by recovering partial progress on failures, via durable execution. No need for manual retries and recovery logic.
Handlers may be long-running and suspend during async/await, e.g., when waiting for RPC responses and events, or when sleeping.
Reliable service-to-service RPC and messaging via persistent channels and duplicate-free retries.
Stateful and serverless
Shard RPC handlers and attach long-lived k/v state. State changes commit atomically with handler completion, for easy correctness.
Deploy handlers on FaaS (AWS Lambda). Restate pushes messages and state into the functions, for efficient stateful serverless logic.
Create stateful serverless workflows, as if writing reliable long-running processes but run them on FaaS.
Infrastructure Swiss Army Knife
Restate is an event broker on steroids and adds additional capabilities to each handler invocation: reliable RPC/messaging, k/v storage, service discovery, durable execution, rich OpenTelemetry tracing, and scheduled actions. All in one simple package.
Single binary that runs everywhere
Restate comes as a single binary that runs without any dependencies, and with a small resource footprint. It runs as well on your laptop as it does in the cloud.
Restate is built for modern cloud architectures and works seamlessly with services standalone, on FaaS (AWS Lambda), and as scale-out deployments on container engines like Kubernetes.
Generate OpenTelemetry traces and call trees for services, without any code or configuration.
Restate's unique way of managing inter-service communication and durable execution together means that it can generate detailed observability data right out of the box.
Built for low-latency durable execution
Restate is built as a low-latency message system, around a sharded command log that drives all features, including communication, durable execution, and state updates.
Serve end-user requests with durable services.