Zum Inhalt springen

Circuit Breaker & Failover

Claudex enthaelt fuer jedes Anbieterprofil einen integrierten Circuit Breaker mit automatischem Failover zu Backup-Anbietern, wenn Fehler erkannt werden.

success
┌──────────────┐
│ │
▼ failure │
Closed ────────► Open
▲ │
│ timeout │
│ expired ▼
└─────────── HalfOpen
failure → back to Open
ZustandVerhalten
ClosedNormalbetrieb. Anfragen werden durchgeleitet. Fehler werden gezaehlt.
OpenAnfragen werden blockiert. Loest Failover zu Backup-Anbietern aus.
HalfOpenNach dem Wiederherstellungs-Timeout wird eine Testanfrage zugelassen. Erfolg → Closed; Fehler → zurueck zu Open.
ParameterWert
Fehlerschwellenwert3 aufeinanderfolgende Fehler
Wiederherstellungs-Timeout30 Sekunden

Backup-Anbieter im Profil definieren, um automatisches Failover zu aktivieren:

[[profiles]]
name = "grok"
provider_type = "OpenAICompatible"
base_url = "https://api.x.ai/v1"
api_key = "xai-..."
default_model = "grok-3-beta"
backup_providers = ["deepseek", "chatgpt"] # Failover-Kette

Wenn grok 3 Mal nacheinander fehlschlaegt:

  1. Circuit Breaker oeffnet fuer grok
  2. Anfrage wird mit deepseek wiederholt
  3. Wenn deepseek ebenfalls fehlschlaegt, chatgpt versuchen
  4. Jeder Backup-Anbieter hat seinen eigenen unabhaengigen Circuit Breaker

Fuer OAuth-Profile erhalten HTTP-401-Antworten eine Sonderbehandlung:

  1. Der Proxy macht das aktuelle OAuth-Token ungueltig
  2. Versucht ein neues Token aus der Credential Chain zu laden
  3. Wiederholt die Anfrage mit dem neuen Token
  4. Zaehlt nur als Circuit-Breaker-Fehler, wenn auch die Wiederholung fehlschlaegt

Dies verhindert, dass voruebergehender Token-Ablauf unnoetiges Failover ausloest.

Ein Hintergrund-Gesundheitspruefer laeuft alle ~30 Sekunden und sendet leichte Testanfragen an alle aktivierten Profile. Der Gesundheitsstatus wird im TUI-Dashboard farbcodiert angezeigt:

  • Gruen: gesund
  • Gelb: beeintraechtigt (kuerzliche Fehler)
  • Rot: Circuit Breaker offen