サガパターン
長時間にわたるトランザクションを、ローカルな一連のステップに分割し、失敗時にはそれぞれに補償処理を用意する手法。2相コミットが使えない分散システム向け。
概念は1987年のHector Garcia-MolinaとKenneth Salemに遡る。注文処理が、注文、決済、在庫、配送の各サービスにまたがるマイクロサービスで広く使われる。2つの型がある。オーケストレーションは中央のコーディネーターがコマンドを送り、返信を待つ方式。コレオグラフィは各サービスがイベントを待ち受けて反応する方式だ。ツールにはTemporal、Camunda、AWS Step Functions、Netflix Conductorなどがある。