2009-07-29 48 views
5

Vorrei utilizzare la cache replicata di Ehcache, prima come il backend della cache di secondo livello di Hibernate, la seconda come cache per qualsiasi dato.Prestazioni Ehcache su un cluster di grandi dimensioni

So come funziona una cache distribuita come memcached e so che può ridimensionarsi su cluster di grandi dimensioni, ma non riesco a trovare il modo in cui la replica Ehcache si comporta su cluster di grandi dimensioni.

  • Qualcuno ha un puntatore a qualche informazione o qualche tipo di benchmark?

Ho scoperto che molte strategie di replica possono essere utilizzate, come RMI, JGroups, JMS o Terracotta, e RMI e Terracotta sembrano i più popolari.

  • Come si confrontano su cluster di grandi dimensioni?

La replica ucciderà le mie prestazioni mentre aggiungo molti nodi (come diverse dozzine)?

risposta

1
+0

Naturalmente ho letto il manuale, ma non ho trovato il modo in cui viene eseguita la replica: tutti i nodi sono aggiornati ogni volta che aggiorno la cache su un nodo? – Jazz

+3

I documenti ehcache su questo non sono abbastanza buoni. Ti dice come integrarsi con la tecnologia di distribuzione, ma questo è tutto. – skaffman

+0

Ehacahe docs non è ancora abbastanza buono anche nel 2012 –

3

Una buona soluzione al problema di scala cluster è il concetto di "replica amico ", dove i dati vengono replicati solo per ogni cenno I vicini di casa (comunque lo definite), piuttosto a tutti i nodi. Ottieni il failover senza il problema del ridimensionamento.

Per quanto ne so, ehcache non lo fa. Tuttavia, JBossCache lo fa e si integra anche con Hibernate nello stesso modo in cui fa ehcache.

4

La cache completamente replicata funziona solo se l'applicazione è in gran parte di lettura. La cache replicata non può essere ridimensionata; passare gli aggiornamenti agli altri nodi ucciderà le tue prestazioni. Hai bisogno di cache partizionata con repliche di backup. Le cache partizionate scaleranno in modo lineare anche per le applicazioni ad alta intensità di scrittura.

Prova Hazelcast! è una soluzione di caching di partizioni transazionali, open source (licenza Apache) per Java. Viene fornito con il plug-in di cache di secondo livello in ibernazione.

Diverse dozzine? Nessun problema. La demo del cluster di nodi di Hazelcast 100 può essere found here.

Problemi correlati