CGIから現代のマイクロサービス、サーバーレスまで

定義

CGIから現代のマイクロサービス、サーバーレスまでは、複数process・data store間で部分障害と遅延を扱う設計論点である。対象、前提、入力、結果を分けて理解する。

仕組みと具体例

Sagaは各local transactionと補償処理を連ねるが、補償不能な外部作用もある。通常時だけでなく、境界値、失敗、並行実行、依存先の変化が結果へ及ぼす影響も追跡する。

実践と検証

delivery semantics、idempotency、timeout、retry budget、追跡ID、整合性期待を明文化する。期待結果を観測可能な条件で記述し、最小例から異常系へ広げる。

トレードオフ

適用により再現性や分離性が高まる一方、構成、抽象、運用対象が増える場合がある。解決するリスクと維持コストを比較し、例外には理由、期限、代替策を記録する。