WavebreakMediaMicro - Fotolia
Considere estas estrategias clave de almacenamiento en caché para microservicios
El almacenamiento de datos en caché es una parte clave para garantizar que los microservicios tengan fácil acceso a los datos que necesitan. Revisamos algunas estrategias clave de almacenamiento en caché.
El almacenamiento de datos en caché reduce la cantidad de viajes que un microservicio necesita hacer a un servidor de base de datos y evita llamadas redundantes a otros microservicios. El almacenamiento en caché también puede mejorar la disponibilidad, ya que aún puede obtener datos de la memoria caché si un servicio está inactivo.
Sin embargo, existen desafíos relacionados con la forma en que administra su caché. Hay ciertas consideraciones, particularmente cuando se trata de qué y cuántos datos almacena en caché. Estas son algunas estrategias de almacenamiento en caché de microservicios para evitar sobrecargar un caché con datos obsoletos o redundantes y mantener un alto rendimiento de microservicios.
Determine qué almacenar en caché
Hay dos tipos de cachés: precargados y con carga diferida. En los cachés precargados, los datos se rellenan antes del inicio de un servicio y están listos antes de que un servicio los solicite. En las cachés cargadas de forma diferida, los datos se mantienen en espera hasta que un servicio los solicite. Los datos en la memoria caché se completan a pedido la primera vez que un servicio solicita sus datos, y todas las solicitudes posteriores de la misma pieza de datos se atienden desde la memoria caché.
Usted deberá decidir cuál de estas estrategias de almacenamiento en caché de microservicios es la mejor para una aplicación en particular. Como ejemplo, una aplicación de comercio electrónico podría necesitar precargar artículos usados frecuentemente en la memoria caché para que se procese un nuevo pedido usando un artículo que reside en la memoria caché. Sin embargo, las aplicaciones que no necesitan acceder a los datos de esta manera pueden dejarse en la memoria caché con carga lenta para evitar sobrecargas de datos.
Considere el almacenamiento en caché compartido
Cuando los equipos almacenan datos en la memoria caché de una instancia de servicio, cada instancia mantiene su propia copia de esos datos para usarlos tan pronto como los necesite. Pero si bien este tipo de almacenamiento en caché es rápido, todavía está limitado ya que el almacenamiento está limitado a la memoria directamente disponible para el servicio.
Si el almacenamiento para esos servicios es limitado, los equipos pueden usar el almacenamiento en caché compartido en el que los datos se comparten entre las instancias de la aplicación y todos los servicios acceden al mismo caché. Este enfoque es fácilmente escalable, ya que puede agregar más y más servidores según sea necesario. Por lo general, este caché está alojado como un servicio separado, como se muestra en la Figura 1.
Decida cuánto tiempo guardar los datos
Si algún dato cambia, debe asegurarse de que los datos que residen en la memoria caché estén sincronizados con los almacenes de datos actuales. Los datos de la memoria caché pueden quedar obsoletos durante períodos de tiempo, por lo que debe decidir el período de tiempo que permitiría que los datos en la memoria caché permanezcan obsoletos.
Considere establecer una vida útil cronometrada que invalide los datos y los elimine del caché después de un límite determinado para evitar que se vuelvan obsoletos. Por lo tanto, una solicitud de datos caducados dará como resultado una solicitud de caché fallida, pero esto es aceptable siempre que las solicitudes fallidas no superen en número a las solicitudes exitosas.