Repolode
restatedev

restatedev/restate

Restateは、インフラ障害が発生しても処理を継続できる、耐障害性の高いアプリケーションを構築するためのランタイムです。

代替できる製品:Temporal

スター
4,591
フォーク
226
未解決の Issue
471
最終コミット
2 時間前

これは何?

Restateは、サーバー、プロセス、ネットワークに障害が発生しても正常に動作し続けるアプリケーションを構築するためのプラットフォームです。関数呼び出し、promise、タイマー、key-value stateといった一般的な構成要素を耐障害性の高い形で提供するため、開発者は通常のコードを書きながら、リトライや復旧をプラットフォームに任せられます。

主な仕組みとして、失敗した処理を再試行し、完了済みのステップを再実行しないdurable executionと、リクエスト・レスポンス呼び出し、一方向メッセージ、スケジュールされたタスクを対象とするexactly-onceセマンティクスのサービス間通信を備えています。各サービスエンティティは、実行の進捗とともに永続化される、分離されたkey-value stateを持ちます。長時間実行されるハンドラーはpromiseの完了を待つ間サスペンドし、解決時に再開するため、serverless環境に適しています。

このプロジェクトはサーバーとCLIとして提供され、TypeScript、JavaおよびKotlin、Python、Go、Rust向けのSDKが用意されています。UIとCLIでサービスや呼び出しを調査でき、ハンドラー間のやり取りについてはOpenTelemetryトレースが生成されます。

主な機能

  • 01完了済みのステップを再実行せずに失敗を再試行するdurable execution
  • 02呼び出し、一方向メッセージ、スケジュールされたタスクに対応するexactly-onceのサービス間通信
  • 03障害や再起動後も維持されるdurable promiseとタイマー
  • 04実行の進捗とともに永続化される、サービスエンティティごとの分離されたkey-value state
  • 05TypeScript、Java/Kotlin、Python、Go、Rust向けのSDK
  • 06呼び出しを調査できるUIとCLI、およびOpenTelemetryトレース

ユースケース

  • 障害後に処理を再開する必要がある、耐障害性の高いAIエージェントの構築
  • 信頼性の高いリトライと補償ロジックを備えたマイクロサービスのオーケストレーション
  • タイマーや外部webhookを待機するworkflow-as-codeの実行
  • serverless関数でのイベントの信頼性の高い処理

クイックスタート

  1. 1

    Homebrewでサーバーをインストールする

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

    HomebrewでCLIをインストールする

    brew install restatedev/tap/restate
  3. 3

    npxでサーバーを実行する

    npx @restatedev/restate-server

使う前に知っておきたいこと

  • ビルド済みバイナリはmacOSとLinux向けのみ提供されています。
  • プロジェクトのメタデータからライセンスを特定できませんでした。

トピック

よくある質問

restate とは?
Restateは、インフラ障害が発生しても処理を継続できる、耐障害性の高いアプリケーションを構築するためのランタイムです。 Restateは、サーバー、プロセス、ネットワークに障害が発生しても正常に動作し続けるアプリケーションを構築するためのプラットフォームです。関数呼び出し、promise、タイマー、key-value stateといった一般的な構成要素を耐障害性の高い形で提供するため、開発者は通常のコードを書きながら、リトライや復旧をプラットフォームに任せられます。
restate は無料で使えますか?ライセンスは?
restate は Other ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
restate は今もメンテナンスされていますか?
活発にメンテナンス中。restate の最終コミットは 2026年10月22日 です。
restate は何に使えますか?
障害後に処理を再開する必要がある、耐障害性の高いAIエージェントの構築 信頼性の高いリトライと補償ロジックを備えたマイクロサービスのオーケストレーション タイマーや外部webhookを待機するworkflow-as-codeの実行 serverless関数でのイベントの信頼性の高い処理
restate のインストール方法は?
Homebrewでサーバーをインストールする: brew install restatedev/tap/restate-server HomebrewでCLIをインストールする: brew install restatedev/tap/restate npxでサーバーを実行する: npx @restatedev/restate-server
restate はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/restatedev/restate

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト