アーキテクチャモード:サーキットブレーカー
問題
他のサービスへのネットワークやサービスの障害カスケードを防ぐためにどのように?
スキーム
サービスクライアントは、プロキシを介して同様の作用機序を有する回路ブレーカにプロキシをリモートサービスを呼び出す必要があります。連続失敗回数が閾値を超えた場合に、回路遮断器がトリップし、タイムアウト期間内に、遠隔サービスの試行に対するすべての呼び出しはすぐに失敗します。タイムアウト後にテスト要求を介して、回路遮断器の数が限られて満了します。リクエストが成功した場合、回路ブレーカは、通常の操作を復元します。それが失敗した場合はそれ以外の場合は、タイムアウト期間が再び開始されます。
関連パターン
- マイクロサービス基盤フレームワークは、このモデルを実装することができ
- APIゲートウェイは、サービスを呼び出すために、このモデルを使用します
- サーバー側のルータの発見は、サービスを呼び出すために、このモードを使用することができます
例
- NetflixのHystrix