Aller au contenu

Disjoncteur et basculement

Claudex inclut un disjoncteur integre pour chaque profil de fournisseur, avec basculement automatique vers des fournisseurs de secours lorsque des pannes sont detectees.

success
┌──────────────┐
│ │
▼ failure │
Closed ────────► Open
▲ │
│ timeout │
│ expired ▼
└─────────── HalfOpen
failure → back to Open
EtatComportement
ClosedFonctionnement normal. Les requetes passent. Les echecs sont comptes.
OpenLes requetes sont bloquees. Declenche le basculement vers les fournisseurs de secours.
HalfOpenApres le delai de recuperation, une requete sonde est autorisee. Succes → Closed ; Echec → retour a Open.
ParametreValeur
Seuil d’echec3 echecs consecutifs
Delai de recuperation30 secondes

Definissez des fournisseurs de secours dans votre profil pour activer le basculement automatique :

[[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"] # chaine de basculement

Lorsque grok echoue 3 fois consecutivement :

  1. Le disjoncteur s’ouvre pour grok
  2. La requete est reessayee avec deepseek
  3. Si deepseek echoue egalement, essayer chatgpt
  4. Chaque fournisseur de secours dispose de son propre disjoncteur independant

Pour les profils OAuth, les reponses HTTP 401 recoivent un traitement special :

  1. Le proxy invalide le token OAuth actuel
  2. Tente un chargement frais du token depuis la chaine de credentials
  3. Retente la requete avec le nouveau token
  4. Ne compte comme echec du disjoncteur que si le retry echoue aussi

Cela empeche une expiration temporaire de token de declencher des basculements inutiles.

Un verificateur de sante en arriere-plan s’execute toutes les ~30 secondes, envoyant des requetes sonde legeres a tous les profils actives. L’etat de sante est affiche dans le tableau de bord TUI avec un code couleur :

  • Vert : sain
  • Jaune : degrade (echecs recents)
  • Rouge : disjoncteur ouvert