Sagaパターン

分散システムにおける長時間トランザクションを、補償アクションで一貫性を保ちながら実現する設計パターン

マイクロサービス間のトランザクション管理 分散システムの整合性確保
難易度 ⏱ 設計に1〜2週間

サーキットブレーカーパターン

障害の連鎖を防ぐために、呼び出し先の異常を検知して一時的に通信を遮断する耐障害パターン

外部サービス呼び出しの障害対策 カスケード障害の防止
難易度 ⏱ 実装に1〜3日

イベント駆動アーキテクチャ

システム間の通信をイベント(出来事)の発行と購読で行い、疎結合で拡張性の高いシステムを構築するパターン

サービス間の疎結合化 リアルタイム処理 マイクロサービス間連携
難易度 ⏱ 設計に1〜2週間

データメッシュ

データの所有権をドメインチームに分散し、データをプロダクトとして扱う分散型データアーキテクチャ

大規模組織のデータ基盤刷新 データの民主化
難易度 ⏱ 組織導入に6ヶ月〜1年

バルクヘッドパターン

システムのリソースを区画化し、障害の影響範囲を限定する耐障害パターン

障害の影響範囲の限定 リソース枯渇の防止
難易度 ⏱ 設計・実装に2〜5日

マイクロサービスアーキテクチャ

システムを小さな独立したサービスに分割し、それぞれを独立してデプロイ・スケールできるアーキテクチャ

大規模システムの設計 独立デプロイの実現 チームのスケーリング
難易度 ⏱ 設計・移行に数ヶ月

リトライパターン

一時的な障害に対して自動的に再試行を行い、システムの回復力を高める耐障害パターン

一時的なネットワーク障害への対応 外部API呼び出しの信頼性向上
難易度 ⏱ 実装に半日〜1日

分散トレーシング

マイクロサービスをまたぐリクエストの流れを追跡し、ボトルネックや障害の原因を特定する手法

マイクロサービスの障害原因特定 レイテンシボトルネックの発見
難易度 ⏱ 導入に3〜5日

冪等性パターン

同じ操作を何度実行しても結果が変わらないように設計し、リトライや重複リクエストに安全に対処するパターン

決済処理の重複防止 APIのリトライ安全性の確保
難易度 ⏱ 実装に1〜3日