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

233 lines
8.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 4.3 フェイルオーバー
## 機能説明
フェイルオーバー機能は、メインプロバイダーのリクエストが失敗した場合に、自動的にバックアッププロバイダーに切り替えてサービスの中断を防ぎます。
**適用シーン**
- プロバイダーのサービスが不安定な場合
- 高可用性が必要な場合
- 長時間実行するタスク
## 前提条件
フェイルオーバー機能を使用するには:
1. プロキシサービスを起動
2. アプリケーション接管を有効化
3. フェイルオーバーキューを設定
4. 自動フェイルオーバーを有効化
## フェイルオーバーキューの設定
### 設定ページを開く
設定 → 詳細 → フェイルオーバー
### アプリの選択
ページ上部に 3 つのタブがあります:
- Claude
- Codex
- Gemini
設定するアプリを選択します。
### バックアッププロバイダーの追加
1. 「フェイルオーバーキュー」エリアで
2. 「プロバイダーを追加」をクリック
3. ドロップダウンリストからプロバイダーを選択
4. プロバイダーがキューの末尾に追加
### 優先順位の調整
プロバイダーをドラッグして順序を調整:
- 番号が小さいほど優先度が高い
- メインプロバイダーが失敗すると、順番にバックアッププロバイダーを試行
### プロバイダーの削除
プロバイダーの右側にある「削除」ボタンをクリックします。
## メイン画面でのクイック操作
プロキシとフェイルオーバーがどちらも有効な場合、プロバイダーカードにフェイルオーバースイッチが表示されます。
### キューに追加
1. プロバイダーカードを見つける
2. フェイルオーバースイッチをオンにする
3. プロバイダーが自動的にキューに追加
### キューから削除
1. プロバイダーカードのフェイルオーバースイッチをオフにする
2. プロバイダーがキューから削除
## 自動フェイルオーバーの有効化
### 操作手順
1. フェイルオーバー設定ページで
2. 「自動フェイルオーバー」スイッチをオンにする
### スイッチの説明
| 状態 | 動作 |
|------|------|
| オフ | 失敗を記録するのみ、自動切り替えなし |
| オン | 失敗時に自動的に次のプロバイダーに切り替え |
## フェイルオーバーのフロー
```mermaid
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 | 復旧試行中、探査リクエストを送信 |
### 状態遷移
```mermaid
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. サーキットブレーカーの状態をリセット