Una clave popular de caché caduca y miles de peticiones golpean la base de datos a la vez. Esto es…
Opciones
- Cache stampede (thundering herd) (Opción correcta)
- Split brain entre dos nodos
- Hot partition en un shard
- Replication lag en una read replica
Respuesta
Cache stampede (thundering herd)
Por qué
Mientras la clave estaba en caché, la base de datos estaba protegida. En cuanto caduca, todas las peticiones fallan a la vez y todas consultan la base de datos para reconstruir el mismo valor, lo que puede sobrecargarla.
Soluciones: deja que solo una petición lo reconstruya (un lock) mientras las demás esperan o reciben el valor antiguo; refresca poco antes de que caduque; añade jitter aleatorio a los TTL para que las claves no caduquen juntas.
Recuerda
Muchos misses a la vez en una clave caliente = cache stampede.