サーキットブレーカー(設計パターン)
意味・解説
マイクロサービス等において、特定のサービスが故障や遅延を起こした際、その影響がシステム全体に波及しないよう、自動で通信を遮断する仕組み。
電気のブレーカーと同じ原理。一定回数以上のエラーが発生すると「Open(遮断)」状態になり、即座にエラーを返して呼び出し側を保護する。回復を検知すると「Closed(通常)」に戻る。
くわしく
「デジタルの『防火扉』または『連鎖倒産防止策』」です。
1.カスケード故障の防止:
一つのサービスが遅いと、それを待っている他のサービスも次々と詰まっていき、最終的にシステム全体がダウンします。
2.自動復旧:
しばらく時間を置いた後に少しの通信だけを通し(Half-Open)、正常なら自動で復旧させます。ポイントは、クラウド上の複雑なシステムでは「どこかが壊れる」のは日常茶飯事であり、一部の故障を『なかったこと』にして、他の機能を守り続ける必要があるからです。
例文
外部決済システムの応答遅延が自社サイトの検索機能にまで影響するのを防ぐため、決済APIの呼び出し箇所にサーキットブレーカーを導入した。
同義語: 遮断器パターン / 障害連鎖防止
分類: 分散システムの安定性設計