¿Para qué sirve Backoff Exponencial?
Cuando una petición a una API, una cola o una base de datos falla por un error temporal, reintentar inmediatamente suele empeorar el problema: todos los clientes vuelven a la carga a la vez. El backoff exponencial multiplica la espera entre intentos (1 s, 2 s, 4 s, 8 s...) para dar tiempo al servicio a recuperarse.
Esta calculadora muestra la tabla de esperas de cada intento según el retardo inicial, el multiplicador y el máximo, con y sin jitter, para configurar reintentos sensatos en clientes HTTP, workers o SDKs.
Cómo usarla
- Define el retardo inicial, el factor multiplicador y el número máximo de intentos.
- Activa el jitter para repartir los reintentos en el tiempo.
- Revisa la espera de cada intento y el tiempo total acumulado antes de rendirse.
Conceptos clave
- Jitter
- Añade aleatoriedad a cada espera para que miles de clientes no reintenten en el mismo instante (el efecto "thundering herd").
- Tope máximo
- Limita la espera máxima (por ejemplo 30 o 60 s) para que los últimos intentos no tarden minutos.
- Qué reintentar
- Reintenta timeouts, 429 y 5xx; no reintentes 400, 401, 403 ni 404, porque volverán a fallar igual.
Preguntas frecuentes
¿Qué es el jitter y por qué es importante?
Es una variación aleatoria que se añade a cada espera. Evita que miles de clientes que fallaron a la vez reintenten exactamente al mismo tiempo y vuelvan a tumbar el servicio.
¿Qué errores debo reintentar?
Los temporales: timeouts, errores de red, 429 (demasiadas peticiones) y 5xx. Los 4xx como 400, 401, 403 o 404 no se arreglan reintentando.
¿Cuántos reintentos son razonables?
Entre 3 y 8, con una espera máxima limitada (por ejemplo 30 o 60 segundos). Más allá conviene fallar, registrar el error y avisar.