サーキットブレーカーとフェイルオーバー
Claudex には各プロバイダープロファイル向けの組み込みサーキットブレーカーが含まれており、障害が検出された際はバックアッププロバイダーへ自動的にフェイルオーバーします。
サーキットブレーカーの状態
Section titled “サーキットブレーカーの状態” success ┌──────────────┐ │ │ ▼ failure │ Closed ────────► Open ▲ │ │ timeout │ │ expired ▼ └─────────── HalfOpen │ failure → back to Open| 状態 | 動作 |
|---|---|
| Closed | 通常動作。リクエストは通過します。失敗がカウントされます。 |
| Open | リクエストがブロックされます。バックアッププロバイダーへのフェイルオーバーをトリガーします。 |
| HalfOpen | リカバリタイムアウト後、1 つのプローブリクエストが通過を許可されます。成功すると Closed へ、失敗すると Open に戻ります。 |
デフォルトパラメータ
Section titled “デフォルトパラメータ”| パラメータ | 値 |
|---|---|
| 失敗しきい値 | 3 回連続の失敗 |
| リカバリタイムアウト | 30 秒 |
フェイルオーバー設定
Section titled “フェイルオーバー設定”自動フェイルオーバーを有効にするには、プロファイルにバックアッププロバイダーを定義します:
[[profiles]]name = "grok"provider_type = "OpenAICompatible"base_url = "https://api.x.ai/v1"api_key = "xai-..."default_model = "grok-3-beta"backup_providers = ["deepseek", "chatgpt"] # フェイルオーバーチェーンgrok が 3 回連続して失敗した場合:
grokのサーキットブレーカーがオープンになるdeepseekでリクエストがリトライされるdeepseekも失敗した場合はchatgptを試みる- 各バックアッププロバイダーは独立したサーキットブレーカーを持つ
OAuth 401 リトライ
Section titled “OAuth 401 リトライ”OAuth プロファイルでは、HTTP 401 レスポンスに対して特別な処理が行われます:
- プロキシが現在の OAuth トークンを無効化
- クレデンシャルチェーンから新しいトークンの読み込みを試行
- 新しいトークンでリクエストをリトライ
- リトライも失敗した場合のみサーキットブレーカーの失敗としてカウント
これにより、一時的なトークン期限切れによる不要なフェイルオーバーを防止します。
ヘルスチェック
Section titled “ヘルスチェック”バックグラウンドのヘルスチェッカーが約 30 秒ごとに実行され、有効なすべてのプロファイルに軽量なプローブリクエストを送信します。ヘルスステータスは TUI ダッシュボードにカラーコーディングで表示されます:
- 緑: 正常
- 黄: 低下(最近の失敗あり)
- 赤: サーキットブレーカーがオープン