サーキットブレーカー(Circuit Breaker)は、外部サービスへのリクエストが連続して失敗した際に、それ以上のリクエスト送信を一時的に遮断する設計パターンです。電気回路のブレーカーが過電流を検知して回路を遮断するのと同じ発想で名付けられました。

パターンは3つの状態で構成されます。通常時は「Closed(閉)」状態で、リクエストがそのまま外部サービスに送られます。エラーが一定回数連続すると「Open(開)」状態に遷移し、リクエストを送らずに即座にフォールバック処理を返します。一定時間が経過すると「Half-Open(半開)」状態になり、試験的に1件だけリクエストを送って成功すればClosedに、失敗すればOpenに戻ります。

Anthropic APIのHTTP 529エラー対策として特に有効です。529が連続した場合にサーキットブレーカーを発動させ、キャッシュ済みの応答を返す、別のモデルにフォールバックする、あるいは「現在混み合っています」のメッセージを表示するといった代替処理に切り替えることで、エンドユーザーへの影響を最小化できます。

マイクロサービスアーキテクチャではMartin Fowlerのサーキットブレーカー解説が設計の標準的なリファレンスとして広く参照されています。