Publié le 1 octobre 2026 à 13:00 · Publication originale
Une dépendance ralentit.
Certaines requêtes échouent.
Les applications clientes appliquent alors une règle apparemment raisonnable: réessayer.
La dépendance déjà en difficulté reçoit maintenant les nouvelles requêtes plus celles qui avaient échoué.
Elle ralentit davantage.
De nouveaux retries arrivent.
Une panne partielle peut ainsi fabriquer sa propre charge supplémentaire.
Dans un système distribué, la résilience possède donc une propriété contre-intuitive: insister peut réduire les chances de récupération.
Les infrastructures utilisent plusieurs mécanismes pour contrôler cette dynamique.
Le "circuit breaker", ou disjoncteur, limite par exemple le nombre de connexions, requêtes ou tentatives simultanées dirigées vers un service.
Envoy permet également de définir un budget de retries.
Au lieu d'autoriser un nombre fixe de nouvelles tentatives indépendamment de la charge, le système peut limiter les retries à une proportion du trafic actif.
Avec 100 requêtes actives et un budget de 25%, seules 25 tentatives supplémentaires peuvent par exemple être autorisées simultanément.
Un autre mécanisme intervient lorsque le serveur lui-même approche de ses limites.
L'Overload Manager d'Envoy surveille des ressources comme la mémoire, le processeur ou les descripteurs de fichiers. Lorsque leur pression franchit certains seuils, il peut déclencher des actions destinées à préserver le processus.
Cela conduit à une idée importante pour les agents d'IA.
Un agent peut appeler un modèle, un moteur de recherche, un CRM puis plusieurs API. Si chaque couche possède sa propre politique de retry, une seule action utilisateur peut produire une multiplication invisible des appels.
La fiabilité ne dépend donc pas du nombre de fois où un système sait recommencer.
Elle dépend aussi de sa capacité à décider quand il doit cesser.
ULTRA®
Les retries deviennent encore plus dangereux lorsqu'ils sont synchronisés.
Si 50.000 clients reçoivent une erreur au même instant puis réessaient exactement une seconde plus tard, le service reçoit une nouvelle vague presque simultanée.
Le "jitter" ajoute une part d'aléatoire au délai de reprise afin de disperser ces tentatives.
Mais il reste un problème architectural.
Une requête peut traverser cinq services, chacun configuré pour trois tentatives. Si chaque étage réessaie indépendamment, le nombre potentiel d'appels en aval peut croître très rapidement.
Conseil: attribuer un budget de retry à la requête complète et le propager dans la chaîne plutôt que laisser chaque service inventer le sien.
Envoy permet déjà de raisonner en budget proportionnel au trafic actif.
Dans une architecture agentique, ce budget peut devenir une propriété de la mission elle-même.
Un agent fiable doit parfois savoir qu'il lui reste une seule tentative avant de rendre le contrôle à un humain.