mirror of
https://github.com/farion1231/cc-switch.git
synced 2026-04-18 09:22:55 +08:00
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.
8.3 KiB
8.3 KiB
4.3 フェイルオーバー
機能説明
フェイルオーバー機能は、メインプロバイダーのリクエストが失敗した場合に、自動的にバックアッププロバイダーに切り替えてサービスの中断を防ぎます。
適用シーン:
- プロバイダーのサービスが不安定な場合
- 高可用性が必要な場合
- 長時間実行するタスク
前提条件
フェイルオーバー機能を使用するには:
- プロキシサービスを起動
- アプリケーション接管を有効化
- フェイルオーバーキューを設定
- 自動フェイルオーバーを有効化
フェイルオーバーキューの設定
設定ページを開く
設定 → 詳細 → フェイルオーバー
アプリの選択
ページ上部に 3 つのタブがあります:
- Claude
- Codex
- Gemini
設定するアプリを選択します。
バックアッププロバイダーの追加
- 「フェイルオーバーキュー」エリアで
- 「プロバイダーを追加」をクリック
- ドロップダウンリストからプロバイダーを選択
- プロバイダーがキューの末尾に追加
優先順位の調整
プロバイダーをドラッグして順序を調整:
- 番号が小さいほど優先度が高い
- メインプロバイダーが失敗すると、順番にバックアッププロバイダーを試行
プロバイダーの削除
プロバイダーの右側にある「削除」ボタンをクリックします。
メイン画面でのクイック操作
プロキシとフェイルオーバーがどちらも有効な場合、プロバイダーカードにフェイルオーバースイッチが表示されます。
キューに追加
- プロバイダーカードを見つける
- フェイルオーバースイッチをオンにする
- プロバイダーが自動的にキューに追加
キューから削除
- プロバイダーカードのフェイルオーバースイッチをオフにする
- プロバイダーがキューから削除
自動フェイルオーバーの有効化
操作手順
- フェイルオーバー設定ページで
- 「自動フェイルオーバー」スイッチをオンにする
スイッチの説明
| 状態 | 動作 |
|---|---|
| オフ | 失敗を記録するのみ、自動切り替えなし |
| オン | 失敗時に自動的に次のプロバイダーに切り替え |
フェイルオーバーのフロー
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-600(0 で無効化) |
| 非ストリームタイムアウト | 非ストリームリクエストの総タイムアウト時間(秒) | 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 バックアップ:最後の手段
サーキットブレーカー設定のアドバイス
| シーン | 失敗閾値 | サーキットブレーカー期間 |
|---|---|---|
| 高可用性要件 | 2 | 30 秒 |
| 一般的なシーン | 3 | 60 秒 |
| 偶発的な失敗を許容 | 5 | 120 秒 |
監視のアドバイス
定期的に確認:
- 各プロバイダーのヘルスステータス
- フェイルオーバーの発生頻度
- サーキットブレーカーの発動状況
よくある質問
フェイルオーバーがトリガーされない
確認事項:
- プロキシサービスが実行中か
- アプリケーション接管が有効か
- 自動フェイルオーバーが有効か
- キューにバックアッププロバイダーがあるか
フェイルオーバーが頻繁にトリガーされる
考えられる原因:
- メインプロバイダーが不安定
- ネットワークの問題
- 設定のエラー
解決方法:
- メインプロバイダーの状態を確認
- サーキットブレーカーのパラメータを調整
- メインプロバイダーの変更を検討
すべてのプロバイダーがサーキットブレーカー発動中
サーキットブレーカー期間満了後に自動復旧を待つか、以下を実行:
- プロキシサービスを手動で再起動
- サーキットブレーカーの状態をリセット