Files
cc-switch/docs/user-manual/ja/4-proxy/4.3-failover.md
Jason bbed2a1fe1 docs: restructure user manual for i18n and add EN/JA translations
Reorganize docs/user-manual/ from flat structure to language subdirectories
(zh/, en/, ja/) with shared assets/. Move existing Chinese docs into zh/,
fix image paths, add multilingual navigation README, and translate all 23
markdown files (~4500 lines each) to English and Japanese.
2026-03-03 08:40:52 +08:00

8.3 KiB
Raw Blame History

4.3 フェイルオーバー

機能説明

フェイルオーバー機能は、メインプロバイダーのリクエストが失敗した場合に、自動的にバックアッププロバイダーに切り替えてサービスの中断を防ぎます。

適用シーン

  • プロバイダーのサービスが不安定な場合
  • 高可用性が必要な場合
  • 長時間実行するタスク

前提条件

フェイルオーバー機能を使用するには:

  1. プロキシサービスを起動
  2. アプリケーション接管を有効化
  3. フェイルオーバーキューを設定
  4. 自動フェイルオーバーを有効化

フェイルオーバーキューの設定

設定ページを開く

設定 → 詳細 → フェイルオーバー

アプリの選択

ページ上部に 3 つのタブがあります:

  • Claude
  • Codex
  • Gemini

設定するアプリを選択します。

バックアッププロバイダーの追加

  1. 「フェイルオーバーキュー」エリアで
  2. 「プロバイダーを追加」をクリック
  3. ドロップダウンリストからプロバイダーを選択
  4. プロバイダーがキューの末尾に追加

優先順位の調整

プロバイダーをドラッグして順序を調整:

  • 番号が小さいほど優先度が高い
  • メインプロバイダーが失敗すると、順番にバックアッププロバイダーを試行

プロバイダーの削除

プロバイダーの右側にある「削除」ボタンをクリックします。

メイン画面でのクイック操作

プロキシとフェイルオーバーがどちらも有効な場合、プロバイダーカードにフェイルオーバースイッチが表示されます。

キューに追加

  1. プロバイダーカードを見つける
  2. フェイルオーバースイッチをオンにする
  3. プロバイダーが自動的にキューに追加

キューから削除

  1. プロバイダーカードのフェイルオーバースイッチをオフにする
  2. プロバイダーがキューから削除

自動フェイルオーバーの有効化

操作手順

  1. フェイルオーバー設定ページで
  2. 「自動フェイルオーバー」スイッチをオンにする

スイッチの説明

状態 動作
オフ 失敗を記録するのみ、自動切り替えなし
オン 失敗時に自動的に次のプロバイダーに切り替え

フェイルオーバーのフロー

graph TD
    Start[リクエストがプロキシに到達] --> Send[現在のプロバイダーに送信]
    Send --> CheckSuccess{成功?}
    CheckSuccess -- はい --> Return[レスポンスを返却]
    CheckSuccess -- いいえ --> LogFail[失敗を記録]
    LogFail --> CheckCircuit{サーキットブレーカーの状態確認}
    CheckCircuit -- 発動中 --> Skip[このプロバイダーをスキップ]
    CheckCircuit -- 未発動 --> IncFail[失敗カウントを増加]
    Skip --> Next{キューに次がある?}
    IncFail --> Next
    Next -- あり --> Switch[プロバイダーを切り替え]
    Switch --> Retry[リクエストをリトライ]
    Retry --> Send
    Next -- なし --> Error[エラーを返却]

サーキットブレーカーの設定

サーキットブレーカーは、失敗したプロバイダーへの頻繁なリトライを防止します。

設定項目

アプリごとに独立したデフォルト設定があります。以下は共通のデフォルト値で、Claude には独自の緩やかな設定があります。

設定 説明 共通デフォルト Claude デフォルト 範囲
失敗閾値 連続何回失敗でサーキットブレーカーが発動 4 8 1-20
復旧成功閾値 ハーフオープン状態で何回成功したら閉じるか 2 3 1-10
復旧待機時間 サーキットブレーカー発動後の復旧試行までの時間(秒) 60 90 0-300
エラー率閾値 この値を超えるとサーキットブレーカーが発動 60% 70% 0-100%
最小リクエスト数 エラー率計算前の最小リクエスト数 10 15 5-100

Claude はリクエストに時間がかかるため、デフォルト設定はより緩やかで、多くの失敗を許容します。

タイムアウト設定

設定 説明 共通デフォルト Claude デフォルト 範囲
ストリーム初バイトタイムアウト 最初のデータチャンクの最大待機時間(秒) 60 90 1-120
ストリームサイレントタイムアウト データチャンク間の最大間隔(秒) 120 180 60-6000 で無効化)
非ストリームタイムアウト 非ストリームリクエストの総タイムアウト時間(秒) 600 600 60-1200

リトライ設定

設定 説明 共通デフォルト Claude デフォルト 範囲
最大リトライ回数 リクエスト失敗時のリトライ回数 3 6 0-10

Gemini のデフォルト最大リトライ回数は 5 です。

サーキットブレーカーの状態

状態 説明
Closed 正常状態、リクエストを許可
Open サーキットブレーカー発動中、このプロバイダーをスキップ
半開Half-Open 復旧試行中、探査リクエストを送信

状態遷移

stateDiagram-v2
    [*] --> Closed: 初期化
    Closed --> Open: 失敗回数 >= 閾値
    Open --> HalfOpen: サーキットブレーカー期間満了
    HalfOpen --> Closed: 探査成功 (>= 復旧閾値)
    HalfOpen --> Open: 探査失敗

ヘルスステータスの表示

プロバイダーカード

カードにヘルスステータスバッジが表示されます:

バッジ 状態 説明
健康 連続失敗回数 0
警告 失敗はあるがサーキットブレーカー未発動
サーキットブレーカー発動 一時的にスキップ

キューリスト

フェイルオーバーキューにも各プロバイダーのヘルスステータスが表示されます。

フェイルオーバーログ

各フェイルオーバーの記録内容:

情報 説明
時間 発生時刻
元のプロバイダー 失敗したプロバイダー
新しいプロバイダー 切り替え先のプロバイダー
失敗理由 エラー情報

使用量統計のリクエストログで確認できます。

ベストプラクティス

キュー設定のアドバイス

  1. メインプロバイダー:最も安定で高速なプロバイダー
  2. 第 1 バックアップ:次善の選択
  3. 第 2 バックアップ:最後の手段

サーキットブレーカー設定のアドバイス

シーン 失敗閾値 サーキットブレーカー期間
高可用性要件 2 30 秒
一般的なシーン 3 60 秒
偶発的な失敗を許容 5 120 秒

監視のアドバイス

定期的に確認:

  • 各プロバイダーのヘルスステータス
  • フェイルオーバーの発生頻度
  • サーキットブレーカーの発動状況

よくある質問

フェイルオーバーがトリガーされない

確認事項:

  1. プロキシサービスが実行中か
  2. アプリケーション接管が有効か
  3. 自動フェイルオーバーが有効か
  4. キューにバックアッププロバイダーがあるか

フェイルオーバーが頻繁にトリガーされる

考えられる原因:

  • メインプロバイダーが不安定
  • ネットワークの問題
  • 設定のエラー

解決方法:

  • メインプロバイダーの状態を確認
  • サーキットブレーカーのパラメータを調整
  • メインプロバイダーの変更を検討

すべてのプロバイダーがサーキットブレーカー発動中

サーキットブレーカー期間満了後に自動復旧を待つか、以下を実行:

  1. プロキシサービスを手動で再起動
  2. サーキットブレーカーの状態をリセット