Skills2026年5月18日·1 分钟阅读

Restate — Durable Execution Engine for Distributed Applications

Restate is an open-source durable execution engine that makes distributed applications reliable without complex infrastructure. It provides persistent function state, reliable RPC, and workflow orchestration with a lightweight runtime written in Rust.

Agent 就绪

Agent 可直接安装

这个资产可安装;Agent 先选择当前运行时、检查安装计划,再运行匹配命令。

Native · 98/100策略:允许
Agent 入口
任意 MCP/CLI Agent
类型
Skill
安装
Single
信任
信任等级:Established
入口
Restate Engine
直接安装命令
npx -y tokrepo@latest install 26da7b2f-52f8-11f1-9bc6-00163e2b0d79 --target codex

先 dry-run 确认安装计划,再运行此命令。

Introduction

Restate is a durable execution engine that sits between your services and handles the hard parts of distributed computing: retries, state management, idempotency, and workflow coordination. You write ordinary functions in TypeScript, Java, Kotlin, Go, Python, or Rust, and Restate ensures they run to completion even through crashes and restarts.

What Restate Does

  • Provides durable execution: functions resume from where they left off after failures
  • Manages persistent state per function invocation without an external database
  • Handles reliable RPC between services with built-in retries and deduplication
  • Supports workflow patterns like sagas, compensation, and human-in-the-loop approvals
  • Offers a journal-based execution model that replays on recovery

Architecture Overview

Restate is a single-binary server written in Rust that acts as a proxy between callers and service handlers. It intercepts function calls and journals each step (state reads, RPC calls, side effects) in a local log. On failure, the runtime replays the journal to restore the function to its pre-crash state without re-executing side effects. Services connect to Restate via HTTP and communicate using a lightweight protocol over request-response.

Self-Hosting & Configuration

  • Install the server binary via Homebrew, Docker, or download from GitHub Releases
  • The server runs as a single process with an embedded log store (RocksDB-based)
  • Configure via environment variables or a TOML configuration file
  • Services register with Restate by pointing to their HTTP endpoint URL
  • The admin API on port 9070 manages deployments, state queries, and invocation inspection

Key Features

  • Language-agnostic: SDKs for TypeScript, Java, Kotlin, Go, Python, and Rust
  • Journaled execution ensures exactly-once side effects across retries
  • Keyed state: per-key persistent state without external databases
  • Virtual objects: stateful entities addressed by key, similar to the actor model
  • Built-in invocation scheduling with cron-like timers and delayed calls

Comparison with Similar Tools

  • Temporal — mature durable workflow platform; Restate is lighter and embeds state in the runtime itself
  • Inngest — event-driven durable functions; Restate provides lower-level primitives with more protocol control
  • AWS Step Functions — managed workflow service; Restate is self-hosted and language-native
  • Dapr — sidecar-based distributed runtime; Restate focuses specifically on durable execution and journaling
  • Azure Durable Functions — cloud-tied durable execution; Restate is vendor-neutral and self-hostable

FAQ

Q: How is Restate different from Temporal? A: Restate embeds state and journaling into a lightweight single-binary server, while Temporal requires a cluster with a separate database. Restate aims for simpler operations with a smaller infrastructure footprint.

Q: Do I need to change my code to use Restate? A: You annotate functions with SDK decorators and use the Restate context for state and RPC, but business logic remains ordinary code. No special DSL or workflow language is needed.

Q: What happens when the Restate server restarts? A: In-flight invocations are replayed from the journal. Side effects already executed are skipped, and the function resumes from the last journaled step.

Q: Can Restate run in production? A: Yes. Restate is used in production by multiple companies. The server supports persistent storage and can handle high-throughput workloads.

Sources

讨论

登录后参与讨论。
还没有评论,来写第一条吧。

相关资产