Saltar al contenido

Backoff Exponencial

Calcula intervalos de reintento con backoff exponencial y jitter.

Gratis y sin registro · Última revisión:

Calculadora de Backoff Exponencial

Calcula los intervalos de reintento con backoff exponencial para peticiones fallidas.

IntentoEsperaCon jitter
#11.0s710ms
#22.0s1.3s
#34.0s3.3s
#48.0s7.3s
#516.0s15.7s
#630.0s20.8s
#730.0s21.3s
#830.0s22.2s

¿Qué es el backoff exponencial?

Es una estrategia para reintentar peticiones fallidas esperando cada vez más tiempo. Evita saturar un servicio caído. El jitter añade aleatoriedad para evitar que múltiples clientes reintenten exactamente al mismo tiempo (thundering herd problem). Usado en AWS SDK, Google Cloud, Kubernetes y la mayoría de sistemas distribuidos.

¿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

  1. Define el retardo inicial, el factor multiplicador y el número máximo de intentos.
  2. Activa el jitter para repartir los reintentos en el tiempo.
  3. 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.