2009-09-28 106 views
12

Estoy buscando una solución de caché distribuida de Java. Nos gustaría características le gusta:Almacenamiento en caché distribuido

  • Distribuido
  • descubrimiento automático
  • redundancia
  • no centralizado

Hemos analizado un marco como terracota, que parece ser todo lo que haría alguna vez desearía desde un marco de almacenamiento en caché ... Sin embargo, parece que se necesita un nodo central de almacenamiento en caché que se convierte en nuestro único punto de falla.

¿Alguna otra idea que no sea desplegar nuestra propia solución?

+0

Terracotta no tiene un SPOF: puede utilizar tantas copias de seguridad en caliente como desee para que se hagan cargo cuando un servidor activo fallezca. Con Terracotta FX, incluso puede tener múltiples activos para mayor escala. –

Respuesta

0

Terracotta también ofrece un caché distribuido.

+0

Versión comercial, ¿no es así? – cletus

+0

No lo creo si usa la edición ES de Terracotta (vea http://www.terracotta.org/web/display/enterprise/Products). –

4

Terracotta adquirió recientemente Ehcache y tiene released a tight integration of the Ehcache API with the Terracotta clustered store en un paquete simple y solo requiere unas pocas líneas adicionales de configuración de Ehcache para ir de un solo nodo a agrupado, aunque también debe ejecutar el proceso del servidor de Terracotta.

Ehcache con la edición ES de Terracotta es de código abierto y de uso gratuito. Las licencias comerciales están disponibles si desea soporte, más escalamiento, indemnización, el apoyo de parches, etc.

terracota hace uso de un servidor central gama, ni un solo servidor central, lo que no hay punto único de fallo! Puede configurar tantos servidores de respaldo en caliente como desee y estos servidores de respaldo se pueden configurar para que se hagan cargo cuando el servidor activo se apaga. Con Terracotta FX (producto comercial), también puede usar múltiples servidores activos.

+0

El problema con TerraCotta es que para no tener un solo punto de falla, necesita un mínimo de 4 máquinas (o JVM): - 2 para su aplicación - 2 para TerraCotta Prefiero tener 4 JVM para mi aplicación pero con clústeres de almacenamiento en caché de JVM. –

14

Probar Hazelcast. Es una plataforma de distribución de datos altamente escalable y de clústeres abiertos para Java. Cumple todos tus requisitos. Además, es súper fácil de usar.

+0

En el caso de una partición de red, ¿favorece Hazelcast la consistencia sobre la disponibilidad en el theroem de CAP (https://en.wikipedia.org/wiki/CAP_theorem)? –

1

Normalmente, un único punto de falla ocurre cuando toda la operación se realiza en un solo nodo y si ese nodo se cae, toda la operación puede reducirse. la solución a este problema es usar topología como réplica o réplica de partición. si una vez que el nodo se cae, toda la operación cambiará a otro nodo sin ningún tipo de pérdida de datos.

en cuanto a las características que usted está buscando se pueden encontrar en un solo producto, NCache, como Umer también ha mencionado.

4

Prueba Infinispan. El caché Infinispan se puede usar como caché distribuida y también se puede usar como caché replicada. No hay posibilidad de falla de punto único. En el modo de caché distribuida, puede proporcionar más espacio que el Tamaño de montón. Considere que hay 4 nodos en clúster, cada uno con 1 GB de tamaño de heap e Infinispan como caché replicada, el clúster de tamaño total tiene 1 Gb pero si Infinispan se utiliza como caché distribuida y establece 2 copias por cada elemento de datos, el tamaño total será de 2Gb. http://www.jboss.org/infinispan

+0

hmm..bueno saber sobre .. –

1

Llego tarde a la fiesta, pero ha intentado con TayzGrid, una fuente abierta java distributed cache. También conocido como grid de datos en memoria o almacén de valores clave.

responde a todas sus necesidades básicas

- Distributed 
- Auto-Discovery 
- Redundancy 
- Non-Centralized 

También gestiona los escenarios de conmutación por error avanzadas como split brain y arranque intempestivo. Todos los nodos son inteligentes, por lo tanto, completamente distribuidos.

También puede elegir qué topología desea usar (Partición o replicación). Si desea utilizar topologías más avanzadas (Partición de réplica), puede maybe buy a license.

Cuestiones relacionadas