アーキテクチャ設計・分散システム 重要度:★★出題: AM2・PM2
Sagaパターン(分散トランザクション補償)
さーがぱたーん / Saga Pattern
複数のマイクロサービスや外部システムにまたがる業務処理において、2相コミット(2PC)による長時間ロックを使わず、ローカルトランザクションの連鎖と失敗時の「補償トランザクション」で整合性を保つ設計。
3行速習ポイント
- 複数のマイクロサービスや外部システムにまたがる業務処理において、2相コミット(2PC)による長時間ロックを使わず、ローカルトランザクションの連鎖と失敗時の「補償トランザクション」で整合性を保つ設計。
- イベント連鎖によるコレオグラフィ方式と、調整役(オーケストレータ)が進行管理するオーケストレーション方式の2種類があります。
- 試験対策:複数システム間のデータ連携で「一部システムの更新失敗時にどうやって業務上の整合性を回復するか」という設問に対する模範的な...
図解
図Sagaパターン の設計・評価構造
Step 1
補償トランザクション(打ち消し処理)
業務要件・システム制約の整理と構造化
↕
Step 2
オーケストレーション方式
イベント連鎖によるコレオグラフィ方式と、調整役(オーケストレータ)が進行管理するオーケスト
↕
Step 3
コレオグラフィ方式
決済・在庫引当・配送手配の3システム連携にオーケストレーション型Sagaを適用し、配送手配
概要と本質
複数のマイクロサービスや外部システムにまたがる業務処理において、2相コミット(2PC)による長時間ロックを使わず、ローカルトランザクションの連鎖と失敗時の「補償トランザクション」で整合性を保つ設計。イベント連鎖によるコレオグラフィ方式と、調整役(オーケストレータ)が進行管理するオーケストレーション方式の2種類があります。
重要ポイント・コア概念
- 補償トランザクション(打ち消し処理)とオーケストレーション方式の正確な定義と適用場面の理解
- コレオグラフィ方式および結果整合性の担保を踏まえたシステム方式・機能仕様の設計
- 定量的効果:決済・在庫引当・配送手配の3システム連携にオーケストレーション型Sagaを適用し、配送手配失敗時の自動引当解除・返金処理を100%自動化
午後I記述・午後II小論文試験での攻略ポイント
複数システム間のデータ連携で「一部システムの更新失敗時にどうやって業務上の整合性を回復するか」という設問に対する模範的な解決策です。
小論文で使える実践フレーズ・キーワード(クリックでコピー)
この用語が出題された過去問を解く(1分演習)
即時アウトプットで定着システムアーキテクト 過去問演習で実践力を鍛える