Estoy buscando un marco java que me permita compartir un caché entre varias JVM.Caché compartida del clúster
Lo que necesitaría es algo como pero sin la parte "distribuida". Deseo poder agregar un elemento en la memoria caché y sincronizarlo automáticamente con la otra memoria caché "miembro del grupo". Si es posible, me gustaría que la memoria caché se sincronice a través de una multidifusión confiable (o algo similar).
Miré Shoal pero lamentablemente la "Caché de estado distribuido" parece una implementación insuficiente para mis necesidades.
He visto JBoss Cache pero parece un poco exagerado para lo que tengo que hacer.
He visto JGroups, que parece ser la herramienta más prometedora para lo que tengo que hacer. ¿Alguien tiene experiencia con JGroups? ¿Preferiblemente si se usó como un caché compartido?
¿Alguna otra sugerencia?
Gracias!
EDITAR: Estamos pruebas para ayudar a decidir entre Hazelcast y Infinispan de partida, voy a aceptar una respuesta pronto.
EDIT: Debido a un cambio repentino de requisitos, ya no necesitamos un mapa distribuido. Utilizaremos JGroups para un marco de señalización de bajo nivel. Gracias a todos por su ayuda.
Hazelcast e Infinispan? Hmmm. Estas no son tecnologías maduras ... Intenta presionar Ctrl-z en la demostración Hazelcast en un nodo. Cerebro dividido. ¡Infinispan todavía está en alfa! Le recomiendo que busque en http://java-source.net/open-source/cache-solutions un punto de partida. EHCache, OSCache y JBoss Cache son al menos tecnologías maduras bien aceptadas. Ya dijiste que Terracota es un peso pesado, así que está bien. Odio verte perder el tiempo y descubrir que te has ido con algo completamente inestable. –
Aún no lo hemos decidido, solo estamos probando. Gracias por sus preocupaciones Taylor :) Además, CTRL-Z en la demostración Hazelcast funciona bien. Lo mismo ocurre con eliminar cualquier nodo a través del Administrador de tareas o de cualquier otra forma. – GuiSim
Una vez más, Terracotta puede ayudarte aquí ;-). El bloqueo/señalización en Terracotta es increíblemente fácil. Aquí está la espera/notificación sincronizadas en el clúster para la señalización entre hilos en un clúster: http://www.terracotta.org/web/display/orgsite/Recipe?recipe=waitnotify –