> ## Documentation Index
> Fetch the complete documentation index at: https://restate-6d46e1dc-cloud-gcr-wif.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Guides

> Learn how to do common tasks with Restate.

## Recipes

<CardGroup cols={3}>
  <Card title="Cron Jobs" href="/guides/cron" img="https://mintcdn.com/restate-6d46e1dc-cloud-gcr-wif/6ypzq6a-VR1Bw--Q/img/guides/cron/cron.png?fit=max&auto=format&n=6ypzq6a-VR1Bw--Q&q=85&s=c341f6757df57f6eb247118d7d633e12" width="1920" height="1080" data-path="img/guides/cron/cron.png">
    Schedule tasks periodically with Restate
  </Card>

  <Card title="Durable Webhooks" href="/guides/durable-webhooks" img="https://mintcdn.com/restate-6d46e1dc-cloud-gcr-wif/6ypzq6a-VR1Bw--Q/img/guides/durable-webhooks/durable-webhooks.png?fit=max&auto=format&n=6ypzq6a-VR1Bw--Q&q=85&s=03b362dcc85801f461a2a9a78aef805d" width="1440" height="810" data-path="img/guides/durable-webhooks/durable-webhooks.png">
    Process webhook events from external services with exactly-once delivery guarantees.
  </Card>

  <Card title="Parallelizing Work" href="/guides/parallelizing-work" img="https://mintcdn.com/restate-6d46e1dc-cloud-gcr-wif/6ypzq6a-VR1Bw--Q/img/guides/parallelizing-work/parallelizing-work.png?fit=max&auto=format&n=6ypzq6a-VR1Bw--Q&q=85&s=9da16d0562628a3f97b9970d4553ba38" width="1440" height="810" data-path="img/guides/parallelizing-work/parallelizing-work.png">
    Execute a list of tasks in parallel and then gather their result.
  </Card>

  <Card title="Rate Limiting" href="/guides/rate-limiting" img="https://mintcdn.com/restate-6d46e1dc-cloud-gcr-wif/6ypzq6a-VR1Bw--Q/img/guides/rate-limiting/rate-limiting.png?fit=max&auto=format&n=6ypzq6a-VR1Bw--Q&q=85&s=871efb5d7c1c9e0f436dbb86f9918c8b" width="1920" height="1080" data-path="img/guides/rate-limiting/rate-limiting.png">
    Control request rates and prevent service overload with Restate
  </Card>

  <Card title="Sagas" href="/guides/sagas" img="https://mintcdn.com/restate-6d46e1dc-cloud-gcr-wif/6ypzq6a-VR1Bw--Q/img/guides/sagas/sagas.png?fit=max&auto=format&n=6ypzq6a-VR1Bw--Q&q=85&s=78694ddd0c3651d314b8778d7fae4483" width="1920" height="1080" data-path="img/guides/sagas/sagas.png">
    Implementing undo operations in case of failures, to keep your system consistent
  </Card>
</CardGroup>

## Development Guides

<CardGroup cols={3}>
  <Card title="Databases and Restate" href="/guides/databases" img="https://mintcdn.com/restate-6d46e1dc-cloud-gcr-wif/6ypzq6a-VR1Bw--Q/img/guides/databases/databases.png?fit=max&auto=format&n=6ypzq6a-VR1Bw--Q&q=85&s=f76aac47cc3947916ccd08ccfd32607a" width="1920" height="1080" data-path="img/guides/databases/databases.png">
    Learn when and how to use databases in combination with Restate.
  </Card>

  <Card title="Error Handling" href="/guides/error-handling" img="https://mintcdn.com/restate-6d46e1dc-cloud-gcr-wif/6ypzq6a-VR1Bw--Q/img/guides/error-handling/error-handling.png?fit=max&auto=format&n=6ypzq6a-VR1Bw--Q&q=85&s=47bcbfb53a25d09e03a8a5cf7acf2535" width="1472" height="832" data-path="img/guides/error-handling/error-handling.png">
    Learn how to handle transient and terminal errors in your applications.
  </Card>

  <Card title="Request Lifecycle" href="/guides/request-lifecycle" img="https://mintcdn.com/restate-6d46e1dc-cloud-gcr-wif/6ypzq6a-VR1Bw--Q/img/guides/request-lifecycle/request-lifecycle.png?fit=max&auto=format&n=6ypzq6a-VR1Bw--Q&q=85&s=3e1679d341491c7000a1fdd194a4427e" width="1920" height="1080" data-path="img/guides/request-lifecycle/request-lifecycle.png">
    Deep dive into the lifecycle of a request in Restate
  </Card>
</CardGroup>

## Deployment Guides

<CardGroup cols={3}>
  <Card title="Connecting Kubernetes Services to Restate Cloud" href="/guides/connecting-k8s-services-to-cloud" img="https://mintcdn.com/restate-6d46e1dc-cloud-gcr-wif/6ypzq6a-VR1Bw--Q/img/guides/connecting-k8s-services-to-cloud/connecting-k8s-services-to-cloud.png?fit=max&auto=format&n=6ypzq6a-VR1Bw--Q&q=85&s=ce9951b25562e5676a5218d2541c017f" width="1920" height="1080" data-path="img/guides/connecting-k8s-services-to-cloud/connecting-k8s-services-to-cloud.png">
    Learn how to connect services on Kubernetes to Restate Cloud.
  </Card>

  <Card title="Kubernetes deployments with Helm" href="/guides/restate-on-kind-with-helm" img="https://mintcdn.com/restate-6d46e1dc-cloud-gcr-wif/6ypzq6a-VR1Bw--Q/img/guides/restate-on-kind-with-helm/restate-on-kind-with-helm.png?fit=max&auto=format&n=6ypzq6a-VR1Bw--Q&q=85&s=37d98c70dc3b09c3a0063d25695f9cdb" width="1920" height="1080" data-path="img/guides/restate-on-kind-with-helm/restate-on-kind-with-helm.png">
    Learn how to deploy a Restate cluster using Helm on a kind Kubernetes cluster.
  </Card>

  <Card title="Kubernetes deployments with Restate Operator" href="/guides/restate-on-kind-with-operator" img="https://mintcdn.com/restate-6d46e1dc-cloud-gcr-wif/6ypzq6a-VR1Bw--Q/img/guides/restate-on-kind-with-operator/restate-on-kind-with-operator.png?fit=max&auto=format&n=6ypzq6a-VR1Bw--Q&q=85&s=45b1a295a2596aa4910f7d4b03a2b957" width="1920" height="1080" data-path="img/guides/restate-on-kind-with-operator/restate-on-kind-with-operator.png">
    Learn how to deploy single-node Restate with Restate operator on a kind Kubernetes cluster.
  </Card>

  <Card title="Local Restate Cluster with Docker" href="/guides/cluster" img="https://mintcdn.com/restate-6d46e1dc-cloud-gcr-wif/6ypzq6a-VR1Bw--Q/img/guides/cluster/cluster.png?fit=max&auto=format&n=6ypzq6a-VR1Bw--Q&q=85&s=9901449e47da844db574f1b8ef80af10" width="1920" height="1080" data-path="img/guides/cluster/cluster.png">
    Learn how to deploy a Restate cluster using Docker Compose.
  </Card>

  <Card title="Migrating Snapshot Storage Backend" href="/guides/snapshot-storage-migration" img="https://mintcdn.com/restate-6d46e1dc-cloud-gcr-wif/6ypzq6a-VR1Bw--Q/img/guides/snapshot-storage-migration/snapshot-storage-migration.png?fit=max&auto=format&n=6ypzq6a-VR1Bw--Q&q=85&s=ba1e2fa1d9efde062684ef24851dcade" width="1920" height="1080" data-path="img/guides/snapshot-storage-migration/snapshot-storage-migration.png">
    Move a multi-node Restate cluster from one snapshot destination to another.
  </Card>

  <Card title="Scaling to Multi-Node Deployments" href="/guides/local-to-replicated" img="https://mintcdn.com/restate-6d46e1dc-cloud-gcr-wif/6ypzq6a-VR1Bw--Q/img/guides/local-to-replicated/local-to-replicated.png?fit=max&auto=format&n=6ypzq6a-VR1Bw--Q&q=85&s=ab9842fea113c0cbb0bbfaad25a7fc44" width="1920" height="1080" data-path="img/guides/local-to-replicated/local-to-replicated.png">
    Migrate a single node to a multi-node cluster.
  </Card>
</CardGroup>

## Integrations

<CardGroup cols={3}>
  <Card title="Restate and Encore" href="/guides/encore" img="https://mintcdn.com/restate-6d46e1dc-cloud-gcr-wif/6ypzq6a-VR1Bw--Q/img/guides/encore/encore.png?fit=max&auto=format&n=6ypzq6a-VR1Bw--Q&q=85&s=f8979168e5d7129998b0921536fd7036" width="1920" height="1080" data-path="img/guides/encore/encore.png">
    Learn how to run Restate service handlers inside an Encore TypeScript backend.
  </Card>

  <Card title="Restate-Kafka Quickstart" href="/guides/kafka-quickstart" img="https://mintcdn.com/restate-6d46e1dc-cloud-gcr-wif/6ypzq6a-VR1Bw--Q/img/guides/kafka-quickstart/kafka-quickstart.png?fit=max&auto=format&n=6ypzq6a-VR1Bw--Q&q=85&s=c84d092416e2269961c2be714b40d978" width="1920" height="1080" data-path="img/guides/kafka-quickstart/kafka-quickstart.png">
    Learn how to connect your Restate service to a Kafka topic.
  </Card>

  <Card title="XState" href="/guides/xstate" img="https://mintcdn.com/restate-6d46e1dc-cloud-gcr-wif/6ypzq6a-VR1Bw--Q/img/guides/xstate/xstate.png?fit=max&auto=format&n=6ypzq6a-VR1Bw--Q&q=85&s=cb33630b1b9fb9858ecc9f9605717e8f" width="1920" height="1080" data-path="img/guides/xstate/xstate.png">
    Integrate Restate with XState to implement durable state machines.
  </Card>
</CardGroup>
