Telegram Web Link
Blog de ArmandoF
Photo
¿Cómo pueden fallar los sistemas de caché?

El siguiente diagrama muestra 4 casos típicos en los que las cachés pueden salir mal y sus soluciones.

1. El problema de la manada de truenos
Esto sucede cuando un gran número de claves de la memoria caché caducan al mismo tiempo. A continuación, las solicitudes de consulta llegan directamente a la base de datos, lo que sobrecarga la base de datos.

Hay dos formas de mitigar este problema: una es evitar establecer el mismo tiempo de caducidad para las claves, agregando un número aleatorio en la configuración; La otra es permitir que solo los datos empresariales principales lleguen a la base de datos y evitar que los datos no esenciales accedan a la base de datos hasta que se realice una copia de seguridad de la memoria caché.

2. Penetración de caché
Esto sucede cuando la clave no existe en la memoria caché o en la base de datos. La aplicación no puede recuperar datos relevantes de la base de datos para actualizar la memoria caché. Este problema crea mucha presión tanto en la memoria caché como en la base de datos.

Para resolver esto, hay dos sugerencias. Una es almacenar en caché un valor nulo para claves inexistentes, evitando llegar a la base de datos. La otra es usar un filtro de bloom para verificar primero la existencia de la clave, y si la clave no existe, podemos evitar golpear la base de datos.

3. Desglose de la caché
Esto es similar al problema de la manada del trueno. Ocurre cuando caduca una tecla de acceso rápido. Un gran número de solicitudes llegan a la base de datos.

Dado que las teclas de acceso rápido ocupan el 80% de las consultas, no establecemos un tiempo de caducidad para ellas.

4. Bloqueo de caché
Esto sucede cuando la caché está inactiva y todas las solicitudes van a la base de datos.

Hay dos formas de resolver este problema. Una es configurar un disyuntor y, cuando la memoria caché está inactiva, los servicios de la aplicación no pueden visitar la memoria caché ni la base de datos. La otra es configurar un clúster para la memoria caché con el fin de mejorar la disponibilidad de la memoria caché.

Te toca a ti: ¿Te has encontrado con alguno de estos problemas en la producción?
IT support 😂
2025/02/23 09:28:29
Back to Top
HTML Embed Code: