#分散システム
9件のフレームワーク
Sagaパターン
分散システムにおける長時間トランザクションを、補償アクションで一貫性を保ちながら実現する設計パターン
マイクロサービス間のトランザクション管理
分散システムの整合性確保
サーキットブレーカーパターン
障害の連鎖を防ぐために、呼び出し先の異常を検知して一時的に通信を遮断する耐障害パターン
外部サービス呼び出しの障害対策
カスケード障害の防止
イベント駆動アーキテクチャ
システム間の通信をイベント(出来事)の発行と購読で行い、疎結合で拡張性の高いシステムを構築するパターン
サービス間の疎結合化
リアルタイム処理
マイクロサービス間連携
データメッシュ
データの所有権をドメインチームに分散し、データをプロダクトとして扱う分散型データアーキテクチャ
大規模組織のデータ基盤刷新
データの民主化
バルクヘッドパターン
システムのリソースを区画化し、障害の影響範囲を限定する耐障害パターン
障害の影響範囲の限定
リソース枯渇の防止
マイクロサービスアーキテクチャ
システムを小さな独立したサービスに分割し、それぞれを独立してデプロイ・スケールできるアーキテクチャ
大規模システムの設計
独立デプロイの実現
チームのスケーリング
リトライパターン
一時的な障害に対して自動的に再試行を行い、システムの回復力を高める耐障害パターン
一時的なネットワーク障害への対応
外部API呼び出しの信頼性向上
分散トレーシング
マイクロサービスをまたぐリクエストの流れを追跡し、ボトルネックや障害の原因を特定する手法
マイクロサービスの障害原因特定
レイテンシボトルネックの発見
冪等性パターン
同じ操作を何度実行しても結果が変わらないように設計し、リトライや重複リクエストに安全に対処するパターン
決済処理の重複防止
APIのリトライ安全性の確保