Saltar al contenido

Spring Boot, almacenamiento en caché con EhCache

Bienvenido a nuestra comunidad, aquí vas a encontrar la resolución a lo que buscabas.

Solución:

¿Necesito otro servidor para Ehcache?

Puede utilizar Ehcache en modo independiente. En esta topología, los datos de caché se mantienen en el nodo de la aplicación. Por lo tanto, no necesitará otro servidor en este modo. Ehcache también proporciona otros dos modos:

  1. Repartido – Los datos se mantienen en un servidor remoto (o array de servidores) con un subconjunto de datos utilizados recientemente en cada nodo de aplicación. Esta topología ofrece un amplio conjunto de opciones de consistencia. Una topología distribuida es el enfoque recomendado en un entorno de aplicaciones en clúster o escalado. Proporciona el más alto nivel de rendimiento, disponibilidad y escalabilidad.

    La topología distribuida está disponible como una oferta de código abierto de Terracotta sin limitaciones de cliente pero con limitaciones en el tamaño del clúster de Terracotta. Estos se eliminan cuando se utiliza el BigMemory Max comercial.

  2. replicado – El conjunto de datos en caché se mantiene en cada nodo de la aplicación y los datos se copian o invalidan en los nodos sin bloqueo. La replicación puede ser asíncrona o síncrona, donde el subproceso de escritura se bloquea mientras se produce la propagación. El único modo de coherencia admitido en esta topología es la coherencia débil.

¿Necesito algún otro cliente para trabajar con Ehcache?

Debe usar la biblioteca Ehcache para poder comunicarse con Ehache. Pero Spring proporciona una abstracción de almacenamiento en caché que es más elegante para trabajar y también tiene la ventaja de ser independiente de la implementación de almacenamiento en caché subyacente. Entonces, si usa Spring Caching Abstraction, podría cambiar fácilmente de Ehcache a, por ejemplo, Hazelcast. Puede leer más sobre Spring Caching Abstraction aquí.

Spring Boot proporciona spring-boot-starter-cache paquete de inicio que autoconfigura un adecuado CacheManager de acuerdo con la implementación, siempre que el soporte de almacenamiento en caché esté habilitado.

¿Cómo funciona Ehcache con múltiples instancias? ¿Es posible incluso crear algo como caché compartido usando Ehcache?

Citando de la documentación de Ehcache:

Ehcache proporciona caché en proceso, que puede replicar en varios nodos. También es el núcleo de BigMemory Go y BigMemory Max, los productos comerciales de almacenamiento de datos en memoria y almacenamiento en caché de Terracotta. El arreglo de servidores Terracotta provisto con BigMemory Max permite mixed configuraciones en proceso/fuera de proceso con cachés de tamaño de terabyte. Para obtener información sobre las ofertas de BigMemory de Terracotta, consulte la documentación del producto BigMemory Go y BigMemory Max en http://terracotta.org/documentation.

Como se indicó anteriormente, hay una opción de agrupación en clústeres gratuita disponible con Ehcache. Para este requisito, Redis y Hazelcast también son buenas opciones.

La documentación y los ejemplos deben responder a todas sus preguntas:

https://spring.io/blog/2015/06/15/cache-auto-configuration-in-spring-boot-1-3 https://github.com/spring-projects/spring-boot/tree/1.3 .x/spring-boot-samples/spring-boot-sample-cache

Por supuesto, puede simplemente usar EhCache incorporado dentro de su aplicación Spring Boot. Si desea compartir el caché, depende de su arquitectura. Podría exponer puntos finales REST para que su caché esté disponible para otras aplicaciones.

Si desea un caché distribuido, escalable y de alto rendimiento, tal vez debería echar un vistazo a Hazelcast.

Acuérdate de que puedes reseñar si te fue de ayuda.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *