Sto cercando un framework java che mi consenta di condividere una cache tra più JVM.Cluster Shared Cache
Quello che mi serve è qualcosa come ma senza la parte "distribuita". Voglio essere in grado di aggiungere un elemento nella cache e farlo sincronizzare automaticamente con l'altra cache "membro del gruppo". Se possibile, vorrei che la cache venisse sincronizzata tramite un multicast affidabile (o qualcosa di simile).
Ho guardato allo Shoal ma purtroppo la "cache di stato distribuita" sembra un'implementazione insufficiente per le mie esigenze.
Ho visto JBoss Cache ma sembra un po 'eccessivo per quello che devo fare.
Ho visto JGroups, che sembra essere lo strumento più promettente per quello che devo fare. Qualcuno ha esperienze con JGroups? Preferibilmente se fosse usato come cache condivisa?
Altri suggerimenti?
Grazie!
EDIT: Stiamo iniziando i test per aiutarci a decidere tra Hazelcast e Infinispan, accetterò presto una risposta.
MODIFICA: A causa di improvvisi cambiamenti di requisiti, non abbiamo più bisogno di una mappa distribuita. Useremo JGroups per un framework di segnalazione di basso livello. Grazie a tutti per il vostro aiuto.
Hazelcast e Infinispan? Hmmm. Queste non sono tecnologie mature ... Prova a premere Ctrl-z nella demo Hazelcast in un nodo. Cervello diviso. Infinispan è ancora in alpha! Vi consiglio di guardare http://java-source.net/open-source/cache-solutions per un punto di partenza. EHCache, OSCache e JBoss Cache sono tecnologie mature ben accettate. Hai già detto che Terracotta è pesante, quindi va bene. Odio solo vederti sprecare il tuo tempo e scoprire che sei partito con qualcosa di completamente instabile. –
Non abbiamo ancora deciso, stiamo solo testando. Grazie per le vostre preoccupazioni Taylor :) Inoltre, CTRL-Z nella demo Hazelcast funziona bene. Così uccide qualsiasi nodo tramite Task Manager o in qualsiasi altro modo. – GuiSim
Ancora una volta, Terracotta può aiutarti qui ;-). Il blocco/segnalazione in Terracotta è incredibilmente facile. Qui è attesa/notifica sincronizzata attraverso il cluster per la segnalazione tra i thread in un cluster: http://www.terracotta.org/web/display/orgsite/Recipe?recipe=waitnotify –