直接回答
503 はサービスレイヤーが一時利用不可または過負荷であることを示します。全 queue の再投入ではなく低頻度 probe から復旧します。
このガイドで解決できること
service overload、maintenance、capacity 不足、circuit breaker の 503 から安全に復旧する。
OpenAI 互換 APIPython / Node.js SDKcurlリバースプロキシと API ゲートウェイqueue と batch worker
01
症状
maintenance、capacity 不足、region 障害、gateway circuit breaker で 503 が返ります。
一つの model、protocol、route、region だけが失敗し、軽量 endpoint は正常な場合があります。
02
主な原因
- model service または gateway に利用可能 capacity がない。
- maintenance、deployment、regional dependency により instance が一時的に外れている。
- upstream failure 後に circuit breaker が traffic を拒否している。
- queue と同期 retry が部分復旧後も過負荷を継続させている。
03
診断手順
- 01境界を確定高い同時実行を止め、低頻度 health probe だけを残します。
- 02基準を作成Retry-After、status message、request ID、UTC 時刻を記録します。
- 03一項目を比較platform、protocol、model、account、region を比較し影響範囲を決めます。
- 04決定的な証拠を記録全 backlog ではなく単一 request から段階的に戻します。
最小診断コマンド言語:bash
date -u
curl -sS -D /tmp/api-503.headers -o /tmp/api-503.body -w 'status=%{http_code} total=%{time_total}
' 'https://<your-api-host>/v1/models' -H "Authorization: Bearer ${API_KEY:?set API_KEY first}"
sed -n '1,30p' /tmp/api-503.headers04
修正
- 01障害レイヤーを修正復旧情報を守り、上限付き queue と jitter backoff を使います。
- 02必要な動作を復元互換性を確認した正常な代替先にだけ route します。
- 03一時回避策を除去health と latency の安定後に積み残しを分割して処理します。
05
検証
- 軽量 health check が継続して成功する。
- 低 traffic で最小生成が安定する。
- 各増量段階で latency と error rate が制御される。
- backlog が circuit breaker 付きの小分けで解放される。
06
機密情報の扱い
- 機密 traffic を未承認の緊急 provider へ送らない。
- task state で external action の重複を防ぐ。
- client-facing error に内部 incident 情報を出しすぎない。
- 影響範囲、時刻、request ID、recovery header、probe 結果で共有する。
公式情報と検証範囲
本ガイドはプロトコル仕様とクライアント公式文書を根拠にしています。エラー文、再試行ヘッダー、設定項目はサービスやバージョンで変わるため、参照元を確認し、ログとリクエスト例を秘匿してから共有してください。
ドキュメントの適用範囲を見る