アーキテクチャ設計・分散システム 重要度:★★★出題: AM2・PM1・PM2
冪等性(べきとうせい:Idempotency)設計
べきとうせいせっけい / Idempotency in Distributed Systems
通信タイムアウト等によるリトライで同じリクエストやバッチ処理が複数回実行されても、1回実行したときと同じ結果になり二重計上・二重決済を起こさない性質。
3行速習ポイント
- 通信タイムアウト等によるリトライで同じリクエストやバッチ処理が複数回実行されても、1回実行したときと同じ結果になり二重計上・二重決済を起こさない性質。
- 一意なリクエストID(冪等キー / トランザクションID)を採番して処理済みテーブルで重複排除するか、状態遷移チェック付きのUPDATE文で実装します。
- 試験対策:午後I・午後IIのオンラインAPI連携・夜間バッチ再実行設計において、「障害復旧・リトライ時のデータ二重登録防止策」とし...
図解
図冪等性 の設計・評価構造
Step 1
冪等キー(一意リクエストID)
業務要件・システム制約の整理と構造化
↕
Step 2
重複実行排除
一意なリクエストID(冪等キー / トランザクションID)を採番して処理済みテーブルで重複
↕
Step 3
リトライ安全性(At-least-once配信への対応)
全APIリクエストにUUID形式の冪等キーを付与してDB側で一意制約チェックを行う設計とし
概要と本質
通信タイムアウト等によるリトライで同じリクエストやバッチ処理が複数回実行されても、1回実行したときと同じ結果になり二重計上・二重決済を起こさない性質。一意なリクエストID(冪等キー / トランザクションID)を採番して処理済みテーブルで重複排除するか、状態遷移チェック付きのUPDATE文で実装します。
重要ポイント・コア概念
- 冪等キー(一意リクエストID)と重複実行排除の正確な定義と適用場面の理解
- リトライ安全性(At-least-once配信への対応)および再実行可能(リラン可能)設計を踏まえたシステム方式・機能仕様の設計
- 定量的効果:全APIリクエストにUUID形式の冪等キーを付与してDB側で一意制約チェックを行う設計とし、通信瞬断リトライ時の二重受注事故を0件に防止
午後I記述・午後II小論文試験での攻略ポイント
午後I・午後IIのオンラインAPI連携・夜間バッチ再実行設計において、「障害復旧・リトライ時のデータ二重登録防止策」として極めて高い加点効果があります。
小論文で使える実践フレーズ・キーワード(クリックでコピー)
この用語が出題された過去問を解く(1分演習)
即時アウトプットで定着システムアーキテクト 過去問演習で実践力を鍛える