【テンポラル】

Temporal とは?

💡 落ちても転んでも、必ずゴールまで走り切るマラソンランナー
📌 このページのポイント
Temporalのワークフロー実行 注文受付 決済処理 在庫引当 ⚡ 障害発生 配送手配 Temporal Server 実行状態を自動で永続化・管理 🔄 自動復旧 在庫引当 途中から再開 配送手配 完了
Temporalによる障害自動復旧のイメージ
ひよこ ひよこ

Temporalって何がすごいの?普通のバッチ処理じゃダメなの?

ペンギン先生 ペンギン先生

普通のバッチ処理だと、途中でサーバーが落ちたら最初からやり直しになるよね。Temporalはワークフローの進捗を自動で記録して、落ちても途中から再開できるんだよ

ひよこ ひよこ

え、それってデータベースにチェックポイント保存するのと何が違うの?

ペンギン先生 ペンギン先生

自前でチェックポイントを実装すると、どこまで進んだか・どこから再開するかのロジックが複雑になるよね。Temporalは普通のコードを書くだけで、裏側で勝手に状態を保存してくれるんだ

ひよこ ひよこ

マイクロサービスの連携にも使えるって聞いたけど?

ペンギン先生 ペンギン先生

そう!たとえば「注文→決済→在庫引当→配送手配」みたいな複数サービスをまたぐ処理を、1つのワークフロー関数として書けるんだよ。途中で決済が失敗したら補償トランザクションを自動で走らせることもできる

ひよこ ひよこ

大規模な本番環境でも使われてるの?

ペンギン先生 ペンギン先生

Uber、Netflix、Stripe、Snapchatなど名だたる企業が採用してるよ。Temporal Cloudというマネージドサービスもあるから、自前で運用しなくても使えるのが嬉しいポイントだね

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「Temporal」って出てきたら「落ちても自動復旧してくれるワークフロー実行基盤」と思えればだいたいOK!
📖 おまけ:英語の意味
「Temporal」 = 時間的な・一時的な
💬 元々はUberが社内で開発したCadenceというプロジェクトが前身で、そこから独立してTemporalとして生まれ変わったんだよ
← 用語集にもどる