Repolode
restatedev

restatedev/restate

Restate 是一个用于构建高可靠应用的平台,通过持久化执行、可靠通信和一致状态抵御基础设施故障。

可替代:Temporal

Star
4,591
Fork
226
未关闭 Issue
471
最近提交
2小时前

这是什么?

Restate 是一个用于构建应用的平台,即使服务器、进程或网络出现故障,应用也能保持正确运行。它为函数调用、Promise、定时器和键值状态等常见构件提供了持久化版本,开发者可以编写普通代码,重试与恢复由平台处理。

核心机制包括持久化执行:失败的任务会被重试,且已完成的步骤不会重复执行。服务之间的通信提供 exactly-once 语义,适用于请求-响应调用、单向消息和定时任务。每个服务实例拥有独立的键值状态,并与执行进度一同持久化。长时间运行的处理函数在等待 Promise 时会挂起,Promise 完成后再恢复,这一点很适合 Serverless 部署。

项目包含服务端和 CLI,并提供 TypeScript、Java/Kotlin、Python、Go 和 Rust 的 SDK。UI 和 CLI 可用于查看服务与调用情况,处理函数之间的交互会自动生成 OpenTelemetry 追踪数据。

核心功能

  • 01持久化执行,失败后重试且不重复执行已完成的步骤
  • 02服务间调用、单向消息和定时任务提供 exactly-once 通信语义
  • 03持久化 Promise 与定时器,可跨故障和重启恢复
  • 04每个服务实例拥有独立键值状态,并与执行进度一同持久化
  • 05提供 TypeScript、Java/Kotlin、Python、Go、Rust 等 SDK
  • 06提供 UI 和 CLI 查看调用情况,并生成 OpenTelemetry 追踪

适用场景

  • 构建需要在故障后继续执行的持久化 AI Agent
  • 以可靠重试的方式编排微服务
  • 编写等待定时器或外部 Webhook 的代码化工作流
  • 在 Serverless 函数中可靠地处理事件

快速上手

  1. 1

    通过 Homebrew 安装服务器

    brew install restatedev/tap/restate-server
  2. 2

    通过 Homebrew 安装命令行工具

    brew install restatedev/tap/restate
  3. 3

    通过 npx 运行服务器

    npx @restatedev/restate-server

使用前须知

  • 预编译二进制文件仅提供 macOS 和 Linux 版本。
  • 无法从项目元数据中确定其许可证。

标签

常见问题

restate 是什么?
Restate 是一个用于构建高可靠应用的平台,通过持久化执行、可靠通信和一致状态抵御基础设施故障。 Restate 是一个用于构建应用的平台,即使服务器、进程或网络出现故障,应用也能保持正确运行。它为函数调用、Promise、定时器和键值状态等常见构件提供了持久化版本,开发者可以编写普通代码,重试与恢复由平台处理。
restate 可以免费使用吗?用的什么许可证?
restate 以 Other 许可证开源。用于商业产品前,请先确认许可证条款。
restate 还在维护吗?
活跃维护中。restate 最近一次提交是在 2026年10月22日。
restate 适合用来做什么?
构建需要在故障后继续执行的持久化 AI Agent 以可靠重试的方式编排微服务 编写等待定时器或外部 Webhook 的代码化工作流 在 Serverless 函数中可靠地处理事件
restate 怎么安装和运行?
通过 Homebrew 安装服务器: brew install restatedev/tap/restate-server 通过 Homebrew 安装命令行工具: brew install restatedev/tap/restate 通过 npx 运行服务器: npx @restatedev/restate-server
在哪里获取 restate?
源代码和安装说明在 GitHub 上:https://github.com/restatedev/restate

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目