サーキットブレーカー とは
連鎖障害を防ぐパターン
サーキットブレーカー — 連鎖障害を防ぐパターン
サーキットブレーカーは、依存サービスが利用不可になった際に連鎖障害を防ぐマイクロサービスのアーキテクチャパターンです。
サーキットブレーカーの状態
| 状態 | 説明 | 動作 | |------|------|------| | Closed | 通常運用 | リクエスト通過 | | Open | サービス利用不可 | リクエスト遮断 | | Half-Open | テスト中 | テストリクエスト許可 |
設定パラメータ
- Failure Threshold — オープンまでのエラー数(5-10)
- Success Threshold — クローズまでの成功数(3-5)
- Timeout — 応答待ち時間(1-5秒)
- Reset Timeout — Half-Openまでの時間(30-60秒)
ライブラリとツール
- Resilience4j — Java
- Polly — .NET
- Hystrix — Java(非推奨)
- Istio — Service Mesh