java - download hazelcast
RealWorld HazelCast (7)
Todavía hay algunos problemas con su desarrollo,
http://code.google.com/p/hazelcast/issues/list
En general, puede optar por dejar que use su propio algoritmo de multidifusión o especificar su propia IP. Lo hemos intentado en un entorno LAN y funciona bastante bien. En cuanto al rendimiento, no está mal, pero la herramienta de supervisión no funcionó muy bien ya que no se actualizó la mayor parte del tiempo. Si puedes vivir con los problemas actuales, entonces intenta hacerlo. Lo usaría con precaución, pero es una excelente herramienta de trabajo en mi humilde opinión.
Actualización: hemos estado usando Hazelcast durante algunos meses y está funcionando muy bien. Las configuraciones son relativamente fáciles de configurar y con las nuevas actualizaciones, son lo suficientemente completas como para personalizar incluso cosas pequeñas como la cantidad de subprocesos permitidos en las operaciones de lectura / escritura.
¿Alguien tiene alguna experiencia en el mundo real con la cuadrícula de datos distribuidos y el producto de ejecución de Hazelcast ? ¿Cómo ha funcionado para usted? Tiene una API y funcionalidad asombrosamente simples que parece casi una verdad para una herramienta tan simple de usar. He hecho algunas aplicaciones muy simples y parece funcionar como se anunció hasta ahora. Así que aquí estoy buscando el ''control de realidad'' del mundo real. Gracias.
Si tienes alternativas a la avellana, tal vez mira esto primero. Lo tenemos en modo de producción en ejecución y todavía está lleno de errores, solo echa un vistazo a los problemas abiertos. Sin embargo, la integración con Spring, Hibernate, etc. es bastante agradable y la configuración es realmente sencilla :)
Lo hemos estado usando en producción desde la versión 1.8+, utilizando principalmente la función de bloqueo distribuido. Funciona muy bien, hemos encontrado un par de soluciones / errores, pero se corrigieron con relativa rapidez.
Con bloqueos de 1.8M por día, no encontramos problemas hasta el momento.
Recomiendo comenzar a usar la versión 1.9.4.4.
Estamos utilizando Hazelcast (1.9.4.6 ahora) en producción integrado con un servicio transaccional complicado. Se agregó para aliviar los problemas inmediatos de rendimiento de la base de datos. Hemos descubierto que con frecuencia tenemos que dejar de reducir todos los servicios de transacción durante al menos una hora. Estamos ejecutando clientes en modo supercliente porque es la única opción que cumple remotamente con nuestros requisitos de rendimiento (aproximadamente 4 veces más rápido que los clientes nativos). Desafortunadamente detener un nodo supercliente causa problemas cerebrales divididos y hace que la grilla pierda registros, forzando una completa cierre de servicios. Hemos estado tratando de hacer que este producto funcione para nosotros durante casi un año completo, e incluso hemos pagado para que 2 representantes de Hazelcast hayan enviado la ayuda. No pudieron producir una solución, pero nos dejaron saber que probablemente lo estábamos haciendo mal. En su opinión, debería funcionar mejor, pero fue un viaje bastante desperdiciado.
En este momento estamos enganchados a más de 6 cifras por año en tarifas de licencia y actualmente estamos utilizando aproximadamente 5 veces los recursos para mantener la red viva y satisfacer nuestras necesidades de rendimiento de lo que utilizaríamos con una pila de base de datos agrupada y optimizada. Esta fue una decisión absolutamente equivocada para nosotros.
Este producto nos está matando. Use con precaución, con moderación, y solo para servicios simples.
Si mi propia empresa y proyectos cuentan como mundo real, esta es mi experiencia. Quería estar tan cerca de eliminar el almacenamiento externo (disco) a favor de una "RAM" ilimitada y persistente. Para empezar, elimina la tubería CRUD, que a veces representa hasta el 90% del llamado "nivel medio". Hay otros beneficios Como RAM es su "base de datos", no necesita ningún caché complejo o replicación de sesión HTTP (lo que a su vez elimina la fea técnica de la sesión adhesiva).
Creo que RAM es el futuro y Hazelcast tiene todo para ser una base de datos en memoria: consultas, transacciones, etc. Así que escribí un mini marco que lo abstraía: para cargar datos del almacenamiento persistente (puedo agregar todo lo que pueda almacenar BLOBs) - el más rápido resultó ser MySQL). Es demasiado largo para explicar por qué no me gusta el soporte de persistencia incorporado de Hazelcast. Es bastante genérico y rudimentario. Deberían eliminarlo. No es una ciencia revolucionaria implementar su propio write-through distribuido y optimizado. Me tomó una semana.
Todo estaba bien hasta que comencé a probar el rendimiento. Las consultas son lentas, después de todas las optimizaciones que hice: índices, serialización portátil, comparadores explícitos, etc. Una simple consulta "mayor que" en un campo indexado demora 30 segundos en el conjunto de 60K de registros 1K (entradas de mapa). Creo que el equipo Hazelcast hizo todo lo que pudieron. Por mucho que lo odie decirlo, las colecciones de Java aún son lentas en comparación con el código superutilizado de C ++ que usan las bases de datos normales. Hay algunos proyectos de código abierto de Java que abordan eso. Sin embargo, en este momento la persistencia de la consulta es inaceptable. Debe ser instantáneo en una única instancia local. Es una tecnología en memoria después de todo.
Cambié a Mongo para la base de datos, sin embargo, dejé a Hazelcast para compartir datos de tiempo de ejecución, es decir, sesiones. Una vez que mejoren el rendimiento de la consulta, volveré a cambiar.
Usamos Hazelcast en nuestra aplicación de comercio electrónico para asegurarnos de que nuestro inventario sea consistente.
Usamos el uso extensivo del bloqueo distribuido para asegurarnos de que los Elementos de inventario del inventario se modifiquen de forma atómica porque hay cientos de nodos en nuestro clúster de aplicaciones web que operan simultáneamente en estos artículos.
Además, utilizamos el mapa distribuido para fines de almacenamiento en caché que se comparten en todos los nodos. Dado que el nodo de escalado en Hazelcast es tan simple y utiliza todo su núcleo de CPU, le da una ventaja adicional sobre redis o cualquier otro marco de caché.
Estamos utilizando Hazelcast de los últimos 3 años en nuestra aplicación de comercio electrónico para asegurarnos de que la disponibilidad (oferta y demanda) sea constante, atómica, disponible y escalable. Estamos utilizando IMap (mapa distribuido) para almacenar en caché los datos y el Procesador de entradas para operaciones de lectura y escritura para realizar operaciones rápidas en memoria en IMap sin tener que preocuparse por los bloqueos.