Request Coalescing | Cómo Eliminar el Thundering Herd en Checkout

Entienda cómo el Request Coalescing reduce el cache stampede y protege el backend durante picos de tráfico y flash sales

Cuando miles de usuarios acceden al mismo recurso al mismo tiempo, el riesgo no es solo aumento de tráfico. El problema más peligroso es la sincronización de carga.

Si un dato popular expira del cache durante una flash sale, todas las solicitudes pueden intentar regenerarlo simultáneamente. Este comportamiento crea el efecto conocido como Thundering Herd, también llamado cache stampede o dogpile effect. El resultado es predecible: saturación del backend, aumento de latencia, timeouts y degradación del checkout.

En checkout performance, cada milisegundo de latencia y cada solicitud redundante representa riesgo de conversión. Request Coalescing resuelve exactamente este escenario. En lugar de permitir que docenas, cientos o miles de solicitudes idénticas lleguen al origin simultáneamente, la técnica agrupa estas llamadas y reutiliza una única respuesta para todos los usuarios en espera.


¿Qué es el problema del Thundering Herd?

Thundering Herd ocurre cuando un recurso muy accedido expira del cache exactamente cuando el tráfico sube.

Imagine un cálculo de envío, una promoción o un precio muy consultado. Cuando este dato sale del cache, la primera solicitud consulta al backend para regenerarlo. El problema es que mientras esta respuesta aún se está procesando, otras solicitudes llegan, encuentran el cache vacío y hacen exactamente lo mismo.

Esto genera una explosión de llamadas redundantes a la base de datos o al origin. En lugar de una consulta, ahora tiene cientos o miles. El backend se sobrecarga y el checkout comienza a responder más lentamente, o simplemente falla.

Este escenario es especialmente crítico en e-commerce porque normalmente ocurre en momentos de mayor intención de compra: campañas estacionales, lanzamientos, acciones promocionales y Black Friday.


¿Por qué esto ocurre en e-commerce?

En flujos transaccionales, varios datos son consultados simultáneamente por muchos usuarios:

  • precio de producto
  • cálculo de envío
  • elegibilidad de promoción
  • disponibilidad de stock
  • resumen de carrito
  • validaciones auxiliares de checkout

Estos datos tienen un patrón en común: son muy leídos, pero no siempre cambian con cada solicitud.

Cuando el cache expira sin coordinación entre solicitudes, cada usuario intenta reconstruir el mismo dato al mismo tiempo. Es exactamente ahí donde Request Coalescing se vuelve importante.


Cómo funciona Request Coalescing en la práctica

Request Coalescing actúa como un mecanismo de coordinación en infraestructura distribuida.

En la práctica, el flujo es:

  1. La primera solicitud llega y se convierte en la solicitud líder.
    Identifica que el dato no está en cache y procede al origin.

  2. Las solicitudes idénticas siguientes se agrupan.
    En lugar de disparar nuevas llamadas al backend, esperan el retorno de la solicitud líder.

  3. Una única respuesta alimenta todas las solicitudes.
    Cuando el origin responde, el resultado se reutiliza para todos los usuarios que estaban esperando, y el cache se repobla.

Este modelo reduce drásticamente la presión sobre el backend y previene la multiplicación artificial de carga.


Beneficios para la performance de checkout

Request Coalescing trae ganancias directas para la estabilidad del checkout.

1. Protección del origin

El backend deja de recibir oleadas de llamadas idénticas y solo procesa lo necesario. Esto reduce saturación de CPU, memoria y conexiones.

2. Reducción de costo

Menos llamadas redundantes significan menor uso de recursos de infraestructura, menor egress y menos desperdicio operacional.

3. Estabilidad de P99

El mayor beneficio no aparece solo en el promedio de latencia, sino en la cola de la distribución. Al evitar ráfagas de llamadas simultáneas, Request Coalescing reduce picos de latencia y mejora la experiencia de los usuarios más afectados.

4. Menos fallas en cascada

Cuando el backend colapsa por carga redundante, el problema normalmente se propaga a otros servicios. Coalescing ayuda a prevenir esta cascada.


Resiliencia programable: más allá de la configuración estática

Request Coalescing se vuelve aún más poderoso cuando es parte de una estrategia de resiliencia programable.

Esto significa que usted puede:

  • aplicar coalescing solo en endpoints de alta concurrencia;
  • combinar la técnica con políticas de stale-while-revalidate;
  • ajustar reglas dinámicamente durante campañas;
  • proteger flujos de checkout sin redisear la aplicación.

Por ejemplo, tiene sentido aplicar la técnica en rutas como:

  • cálculo de envío
  • consultas de precio
  • validación de promociones
  • respuestas de catálogo muy accedidas

Las operaciones transaccionales críticas, como autorización final de pago, siguen un tratamiento diferente y no deben agruparse de la misma manera.


Request Coalescing y la arquitectura de Azion

Azion permite aplicar este tipo de protección dentro de infraestructura distribuida, más cerca del usuario y con control fino sobre el comportamiento del tráfico. Esto hace posible absorber la demanda antes de que sobrecargue el backend.

En la práctica, la arquitectura ayuda a equipos de e-commerce a combinar:

  • aceleración
  • protección
  • control
  • observabilidad

Esto es especialmente útil cuando el objetivo es mantener la conversión estable durante picos de tráfico sin depender de escalado reactivo en el origin.


Ejemplo real: Magalu

Magalu es un ejemplo de empresa que usa Azion en escenarios de alta escala y exigencia de performance. En ambientes como este, proteger el origin y evitar cuellos de botella en momentos críticos es fundamental para sostener la experiencia de compra.

Puede consultar el caso completo aquí:
https://www.azion.com/en/success-case/magalu/

Este tipo de aplicación refuerza cómo las estrategias de distribución, protección y control de solicitudes ayudan a mantener la estabilidad de flujos transaccionales a escala.


Cuándo usar Request Coalescing

Use Request Coalescing cuando:

  • muchos usuarios acceden al mismo recurso al mismo tiempo;
  • el dato tiene alta concurrencia y baja variación momentánea;
  • el cache expirado puede generar múltiples consultas idénticas;
  • quiere proteger el origin de picos coordinados;
  • el checkout depende de endpoints muy solicitados.

Cuándo no usar

Evite aplicar Request Coalescing indiscriminadamente cuando:

  • la operación es altamente personalizada por usuario;
  • el dato necesita procesarse individualmente por solicitud;
  • la respuesta no puede reutilizarse de forma segura;
  • el endpoint representa una acción transaccional irrepetible.

La técnica es excelente para desduplicar lecturas concurrentes, pero no reemplaza la lógica de negocio ni debe usarse en flujos de escritura sin criterio.


FAQ

¿Qué es cache stampede?

Es el escenario donde muchas solicitudes intentan regenerar el mismo dato expirado del cache simultáneamente, sobrecargando el backend.

¿Request Coalescing reemplaza el cache?

No. Complementa el cache. La función del coalescing es prevenir que múltiples solicitudes idénticas lleguen al origin simultáneamente.

¿Cuál es la diferencia entre Request Coalescing y cache?

Cache entrega contenido ya almacenado. Request Coalescing coordina solicitudes concurrentes cuando el cache aún no está disponible o acaba de expirar.

¿Cuándo debo usar Request Coalescing en checkout?

Principalmente en endpoints de lectura muy accedidos, como envío, precio, promoción y catálogo.

¿Esto ayuda en flash sales?

Sí. Las flash sales concentran tráfico en pocos recursos muy consultados, lo que aumenta el riesgo de Thundering Herd.


Conclusión

Request Coalescing es una técnica simple en concepto, pero muy poderosa en la práctica. Previene que el backend sea atacado por solicitudes redundantes en el peor momento posible: cuando el tráfico está alto y la conversión está en juego.

En checkout performance, la lógica es clara: no basta responder rápido en promedio. Necesita prevenir que picos de carga derriben los flujos más importantes del negocio.

Si quiere proteger el checkout contra cache stampede y mantener estabilidad a escala, Request Coalescing debe ser parte de su estrategia de resiliencia.


Próximos pasos

Deje de perder ventas por un checkout lento.
Vea cómo Azion protege sus momentos de ingresos más importantes:
https://www.azion.com/es/contacto/

Lea también:
Checkout Performance: Guía Definitiva de Optimización para E-commerce a Escala


mantente actualizado

Suscríbete a nuestro boletín informativo

Recibe las últimas actualizaciones de productos, destacados de eventos y conocimientos de la industria tecnológica directamente en tu bandeja de entrada.