Request Coalescing: cómo prevenir el Thundering Herd en Node.js

Cuando un valor en caché expira bajo tráfico alto, todas las solicitudes que llegan en los siguientes milisegundos fallan el caché al mismo tiempo. Cada una dispara la misma consulta a la base de datos, la misma llamada a una API externa, el mismo cómputo costoso, y todas producen el mismo resultado. Este es el problema del thundering herd, y es engañosamente fácil pasarlo por alto hasta que el tráfico es lo bastante alto como para que importe.

La solución no es un lock distribuido ni un bucle de espera y reintento. Es el inflight request coalescing: deduplicar las solicitudes concurrentes en curso para un mismo recurso, de modo que solo se ejecute una llamada al origen, y cada llamador en espera comparta el valor resuelto.