¿Qué recomendaría para una gran escala de la tecnología Java cuadrícula de datos: terracota, GigaSpaces, coherencia, etc.? [cerrado]

StackOverflow https://stackoverflow.com/questions/539985

Pregunta

He estado leyendo sobre las llamadas soluciones "cuadrícula de datos" para la plataforma Java incluida la terracota, GigaSpaces y coherencia. Me preguntaba si alguien tiene experiencia en el mundo real de trabajo cualquiera de estas herramientas y podría compartir su experiencia. Yo también estoy muy curioso por saber qué escala de personas que han trabajado con el despliegue:? Estamos hablando 2-4 clústeres de nodo o ha trabajado con nada significativamente mayor que

Me atraen terracota debido a su "caída en" apoyo a Hibernate y Spring, ambos de los cuales utilizamos en gran medida. También me gusta la idea de cómo se decora código de bytes en base a la configuración y no requiere que usted para programar contra un "API de red." No estoy al tanto de ninguna ventaja a las herramientas que utilizan el enfoque de una API explícita pero les encantaría oír hablar de ellos si lo hacen, de hecho existen. :)

También he pasado tiempo leyendo sobre memcached, pero estoy más interesado en escuchar la retroalimentación de estas tres soluciones específicas. Sería curioso saber cómo miden contra memcached en el caso de que alguien ha utilizado tanto.

¿Fue útil?

Solución

Hemos tenido 50 servidores que ejecutan una aplicación de servicio web y todos estos servidores estábamos equilibrio de carga utilizando BigIP. El requisito era para almacenar en caché estado de cada usuario para que los estados posteriores no hacen el mismo proceso de nuevo y obtener los datos de estado anterior. De esta manera el cliente del servicio web no es necesario para mantener el estado.

Se utilizó terracota para almacenar en caché los estados y nunca han tenido algún problema de rendimiento. En el pico veces número de solicitud solicitud se recibiendo es 100 por segundo.

Otros consejos

Es posible que desee comprobar hacia fuera Hazelcast también. Hazelcast transaccional es un código abierto, distribuido / aplicación de cola dividida, tema, mapa, establezca, lista, bloqueo y servicio ejecutor. Es muy fácil trabajar con él; sólo tiene que añadir hazelcast.jar en su ruta de clase y empezar a programar. Casi no se necesita configuración.

Hazelcast está publicado bajo licencia Apache y soporte de nivel empresarial también está disponible. Código está alojado en código de Google .

La biblioteca elige realmente depende de su aplicación y lo que estamos tratando de lograr.

trabajé para una tienda que se utiliza para proporcionar escalabilidad coherencia (y redundancia, más o menos) por sus aplicaciones web. Hemos encontrado que hay que tener alrededor de 4-5 nodos para empezar a recibir los beneficios de Coherencia (2 o 3 nodos potencialmente reduce el rendimiento). Creo documentos de Oracle dicen que necesita una gran cantidad (más de 30) nodos para conseguir realmente un beneficio con coherencia. Si tienes que ir con coherencia, asegúrese de conseguir el sistema del hardware correctamente - que es muy sensible a la latencia.

Yo personalmente se mantenga alejado de una materia de "drop-in". Ellos te pueden dar algo para empezar, pero que finalmente va a tener problemas de sincronización o de rendimiento y tendrán que empezar a escribir código específico para la capa de red de todos modos. Básicamente, usted sabe que su aplicación mejor que la biblioteca, y será capaz de averiguar qué elementos deben estar en caché, el tiempo que necesitan para vivir, cómo se utilizará su aplicación, etc.

No tengo suficiente experiencia con estas tecnologías, pero creo Apache Hadoop se prueba que es escalable y fiable. Yahoo corrió en cúmulo 10.000 núcleo Linux .

Se basa en el algoritmo de Google MapReduce .

En este artículo se describe MapReduce y por las que debe preocuparse por ello.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top