Restate Documentation

website·Indexed 35 days ago

https://docs.restate.dev

Documentation for Restate, featuring a comprehensive Admin API for managing deployments, services, invocations, and Kafka clusters. Includes guides for building durable AI agents using the Agent SDK and ADK, as well as tools for querying system state via SQL and managing virtual queues.

Tokens
266.6K
Snippets
1.2K
Records
1.7K
Agent score
69%

What's inside Restate

  1. Overview of Restate Introspection

    Restate provides introspection capabilities to inspect the status of invocations and application state. This is primarily used for troubleshooting, such as identifying which invocation is blocking a Virtual Object or verifying stored service state. Introspection is available via the Restate UI, the CLI, and the Introspection SQL API (accessible via CLI or HTTP curl).
  2. Overview of Restate Metadata Storage

    Restate uses a dedicated metadata store to manage critical cluster coordination information, including cluster membership (nodes and roles), partition assignments across worker nodes, registered service deployments/versions, and replicated log configurations. The metadata store is essential for cluster health; while updates are infrequent, high availability is required.
  3. Overview of Restate Workflow capabilities

    Restate Workflows allow developers to build resilient, long-running business processes using standard programming functions. Key features include:

    • Automatic Durability: Built-in resilience for execution without manual infrastructure management.
    • Natural Programming: Workflows are written as regular functions in supported languages.
    • Flexible Patterns: Support for state management, events, timers, and parallel execution.
    • Deployment Flexibility: Supports single-binary deployments and strong serverless/Lambda integration.
  4. Overview of the Restate Operator for Kubernetes

    The Restate Operator is the recommended method for deploying Restate services on Kubernetes. It extends the Kubernetes API with custom resources to manage service workloads, registration, versioning, and secure connectivity to Restate environments. The operator handles deploying applications via ReplicaSets or Knative Serving, registering SDK endpoints, managing service revisions (keeping old revisions until invocations drain), and establishing secure outbound tunnels for private services connecting to Restate Cloud.
  5. Overview of Restate Durable AI Agents

    Restate allows you to build AI agents that survive crashes and recover automatically by recording every step (LLM calls, tool executions, and routing decisions) in a journal. If a process crashes, the agent picks up exactly where it left off.

    A Restate AI application consists of two components:

    1. Restate Server: Handles orchestration and resiliency.
    2. Agent Services: The agent logic implemented using the Restate SDK for durability.
  6. Overview of Restate capabilities

    Restate is a lightweight runtime that transforms AI agents, workflows, and backend services into durable processes. It allows developers to write standard code while the runtime automatically handles resilience and consistency. Key capabilities include:

    • Durable Execution: Automatically stores completed steps and resumes from the last successful point after failure.
    • Built-in State: Provides strongly consistent state management that persists beyond individual workflow executions and can be shared between functions.
    • Reliable Communication: Supports synchronous and asynchronous service calls with exactly-once semantics.
    • Flow Control: Implements concurrency limits per scope to manage costs, protect downstream services, and ensure fair scheduling.
    • Time-based Coordination: Provides durable timers for sleeping, scheduling, and waiting for external events.
    • Workflows: Enables coordination of long-running processes, human approvals, and webhook listeners.
  7. Overview of Restate BYOC

    Restate BYOC (Bring Your Own Cloud) allows you to run the fully-managed Restate Cloud experience as a private region inside your own cloud account and VPC. This ensures that application data never leaves your infrastructure and provides network isolation, as workloads run within your VPC and do not cross the public internet. BYOC is typically used by organizations requiring strict data sovereignty, compliance with customer-controlled infrastructure policies, or those operating at high volumes where reserved capacity pricing is more cost-effective than per-action pricing.
  8. Overview of Restate Microservice Orchestration

    Restate is an orchestration engine that enables the creation of resilient, fault-tolerant microservice workflows. It consists of two primary components: the Restate Server (which manages durable execution and acts as a message broker/reverse proxy) and the User Services (business logic implemented via the Restate SDK). Restate provides primitives for durable execution, sagas with compensation, durable timers, and stateful Virtual Objects.
  9. Overview of Restate durable coordination primitives

    Restate provides three primitives for handlers that need to receive input after their invocation has started. All three survive retries and process restarts, allowing Restate to suspend the invocation and resume it when the result arrives.

    • Signal: Identified by invocation ID and name. Can be resolved multiple times. Best for communication between ongoing invocations, agent steering, and human approvals.
    • Awakeable: Identified by a generated unique ID. Resolved or rejected once. Best for external callbacks and one-shot task tokens.
    • Workflow promise: Identified by workflow key and promise name. Resolved or rejected once; result is retrievable multiple times by all handlers of the workflow. Best for coordination between handlers of the same workflow.
  10. Overview of Restate Cloud

    Restate Cloud is a fully managed serverless version of Restate that handles availability and durability for invocations, workflows, and state. Services can be hosted anywhere (Kubernetes, serverless functions, private environments) as long as they are reachable by Restate Cloud's infrastructure.
  11. Overview of Restate durable coordination primitives

    Restate provides three primitives for handlers to receive input after their invocation has started. All three survive retries and process restarts, allowing Restate to suspend the invocation and resume it when the result arrives.

    • Signal: Identified by Invocation ID and name. Can be resolved multiple times. Best for communication between ongoing invocations, agent steering, and human approvals.
    • Awakeable: Identified by a generated unique ID. Resolved or rejected once. Best for external callbacks and one-shot task tokens.
    • Workflow promise: Identified by Workflow key and name. Resolved or rejected once; result is retrievable multiple times by all handlers of the workflow. Best for coordination between handlers of the same workflow.
  12. Overview of Restate Microservice Orchestration Capabilities

    Restate provides a set of primitives to simplify the coordination of complex business workflows across microservices. Key capabilities include:

    • Durable Execution: Automatic failure recovery that eliminates the need for manual, complex retry logic.
    • Sagas: Implementation of distributed transactions with resilient compensation mechanisms to maintain consistency.
    • Service Communication: Reliable RPC and messaging between distributed services.
    • Stateful Processing: Consistent state management built into the platform, removing the requirement for external databases for service state.
    • Advanced Patterns: Support for fault-tolerant timers, awakeables, and parallel execution of tasks.