Saltar al contenido

Cache stampede

Un cache stampede ocurre cuando solicitudes simultáneas no encuentran el mismo dato en caché y repiten el trabajo costoso.

Arquitectura de software

Un cache stampede aparece cuando muchas solicitudes necesitan la misma entrada ausente de la caché casi al mismo tiempo e inician el mismo trabajo en el origen de datos. Una entrada caducada o una caché inicialmente vacía puede causar así un pico de carga.

En un panel ficticio, 100 solicitudes simultáneas del mismo ámbito de datos autorizado consultan summary:tenant-7. Si falta el resumen y no se coordina el trabajo, pueden iniciarse muchos recálculos idénticos.

Agrupar solicitudes de los mismos datos

Request coalescing agrupa esos accesos: se comparte un recálculo en curso para la misma clave y el mismo ámbito de datos. Las demás solicitudes esperan el resultado de forma controlada o reciben un valor anterior si la regla de vigencia del negocio lo permite. La agrupación no debe mezclar usuarios ni ámbitos de autorización distintos.

Un bloqueo limitado a un proceso no coordina automáticamente todos los servidores. Los cálculos fallidos y las esperas demasiado largas también necesitan una gestión de errores con límites. La invalidación decide cuándo una entrada deja de ser utilizable; la protección frente al stampede gestiona su renovación simultánea.

Fuentes