Olenro
プロキシ

フェイルオーバー

機能説明

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

適用シーン

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

前提条件

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

  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 デフォルト範囲
失敗閾値連続何回失敗でサーキットブレーカーが発動481-20
復旧成功閾値ハーフオープン状態で何回成功したら閉じるか231-10
復旧待機時間サーキットブレーカー発動後の復旧試行までの時間(秒)60900-300
エラー率閾値この値を超えるとサーキットブレーカーが発動60%70%0-100%
最小リクエスト数エラー率計算前の最小リクエスト数10155-100

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

タイムアウト設定

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

リトライ設定

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

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

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

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

状態遷移

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

ヘルスステータスの表示

プロバイダーカード

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

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

キューリスト

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

フェイルオーバーログ

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

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

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

ベストプラクティス

キュー設定のアドバイス

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

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

シーン失敗閾値サーキットブレーカー期間
高可用性要件230 秒
一般的なシーン360 秒
偶発的な失敗を許容5120 秒

監視のアドバイス

定期的に確認:

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

よくある質問

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

確認事項:

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

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

考えられる原因:

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

解決方法:

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

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

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

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

目次