mirror of
https://github.com/farion1231/cc-switch.git
synced 2026-04-19 01:43:08 +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.
233 lines
8.3 KiB
Markdown
233 lines
8.3 KiB
Markdown
# 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-600(0 で無効化) |
|
||
| 非ストリームタイムアウト | 非ストリームリクエストの総タイムアウト時間(秒) | 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. サーキットブレーカーの状態をリセット
|