Restate is the simplest way to build resilient applications.
Restate provides a distributed durable version of your everyday building blocks, letting you build a wide range of use cases:
- Durable AI Agents
- Workflows-as-Code
- Microservice Orchestration
- Event Processing
- Async Tasks
- Agents, Stateful Actors, state machines, and much more
- 🏎 Follow the Quickstart to get Restate up and running within 2 minutes!
- 💡 The Tour of Restate walks you through the most important features of Restate.
Restate supports the following SDKs:
We offer pre-built binaries of the CLI and the server for MacOS and Linux.
Have a look at the Quickstart or installation instructions in the docs.
Install via Homebrew:
brew install restatedev/tap/restate-serverRun via npx:
npx @restatedev/restate-serverRun via docker:
docker run --rm -p 8080:8080 -p 9070:9070 -p 9071:9071 \
--add-host=host.docker.internal:host-gateway docker.restate.dev/restatedev/restate:latestInstall via Homebrew:
brew install restatedev/tap/restateInstall via npm:
npm install --global @restatedev/restateRun via npx:
npx @restatedev/restateYou can also download the binaries from the release page or our download page.
- 🤗️ Join our online community on Discord or Slack for help, sharing feedback and talking to the community.
- 📖 Check out our documentation to get started quickly!
- 📣 Follow us on Twitter for staying up to date.
- 🙋 Create a GitHub issue for requesting a new feature or reporting a problem.
- 🏠 Visit our GitHub org for exploring other repositories.
The basic primitives Restate offers to simplify application development are the following:
- Reliable Execution: Restate guarantees code runs to completion. Failures result in retries that use the Durable Execution mechanism to recover partial progress and prevent re-executing completed steps.