Backoff exponentiel
Le backoff exponentiel multiplie le délai entre les nouvelles tentatives, jusqu’à un plafond défini.
Le backoff exponentiel, ou attente exponentielle, augmente le délai entre les nouvelles tentatives selon un facteur, généralement jusqu’à un plafond. Après une panne temporaire, l’application ne renvoie donc pas immédiatement la même requête. Cette règle de délai fait partie d’une stratégie de réessai.
Séparer le délai et la règle d’arrêt
Un exemple fictif d’API attend une seconde après un échec, double le délai et le plafonne à quatre secondes : 1 → 2 → 4 → 4 s. Ce sont des intervalles de base illustratifs, sans variation aléatoire, et non des réglages recommandés. Le jitter ajoute une variation aléatoire au délai réel pour éviter que de nombreux clients réessaient simultanément.
Le plafond ne met pas fin aux tentatives. Leur nombre maximal, la durée totale et les erreurs admissibles doivent être définis séparément. Attendre davantage ne corrige pas une requête invalide ; une opération pouvant avoir des effets secondaires doit pouvoir être répétée sans risque.
Si la bibliothèque cliente réessaie déjà, une autre boucle dans l’application peut multiplier les appels. L’équipe doit donc examiner les deux couches ensemble.
Sources
Termes associés
- Stratégie de nouvelle tentativeUne stratégie de nouvelle tentative précise quels échecs relancer, avec quels délais et jusqu’à quelle limite.
- Délai aléatoire avant réessaiLe jitter fait varier aléatoirement les délais pour étaler les nouvelles tentatives de plusieurs clients.
- IdempotenceUne opération idempotente produit le même effet sur l’état, qu’elle soit exécutée une seule fois ou répétée à l’identique.
- Server-Sent EventsLes Server-Sent Events transmettent du texte du serveur au client par HTTP, par exemple sur l’avancement d’une tâche en arrière-plan.
- ETagUn ETag identifie une version de représentation d’une ressource HTTP et permet des lectures ou modifications conditionnelles.
- Cross-Origin Resource SharingCORS contrôle l’accès du navigateur aux réponses d’une autre origine. Il ne remplace ni la connexion ni la vérification des droits de l’API.
Votre projet avec ASES
Décrivez-nous votre projet. Nous revenons vers vous avec une première évaluation.