2010-05-03 10 views
14
  • ¿Qué es Terracotta?
  • ¿Qué servicios ofrece?
  • ¿Qué problemas soluciona?
  • ¿Qué otros productos resuelven problemas similares a los resueltos por Terracotta?
+1

Sugiero comenzar con http://en.wikipedia.org/wiki/Terracotta_Cluster, y luego volver con una pregunta más específica. – skaffman

+1

Wikipedia afirma que "la agrupación a nivel de JVM de Terracotta puede convertir aplicaciones de subproceso único y multiproceso en aplicaciones distribuidas de múltiples nodos, a menudo sin cambios de código". Esto suena demasiado bueno para ser cierto, que puede ser una de las razones por las que Wikipedia también afirma que el artículo está "escrito como un anuncio". –

+1

Hoy en día, Terracotta ofrece mucho más (basado en varios productos), pero la agrupación de JVM ha sido la tecnología estrella de Terracotta desde el principio. ¿Por qué suena demasiado bien? De todos modos, el código es de código abierto, no dude en consultarlo o probarlo. –

Respuesta

8

encontrar un gran artículo sobre terracota y cómo funciona en InfoQ escrito directamente por Orion Letizi, co-fundador e ingeniero de software en terracota:

http://www.infoq.com/articles/open-terracotta-intro

Me ayudó a prepararse para una conferencia por internet sobre terracota y cómo se puede utilizar para aplicaciones de clustering y scale grails y me dio una buena visión general sobre Terracotta.

2

¿Qué otros productos resuelven problemas similares a los que resuelve Terracotta?

Pruebe Hazelcast, es super simple de usar. Tecnología de clúster de fuente abierta, totalmente escalable y de punto a punto para Java. Simplemente se distribuye Map, Queue, MultiMap, ExecutorService. Puede usar su mapa como un caché distribuido.

+0

¿Ha codificado en producción usando esto? –

+0

Consulte las empresas que figuran en la página principal (http://www.hazelcast.com). También visite los 'Testimonios' para ver quién lo usó para qué. –

4

I like to think about Terracottas DSO in terms of advanced parallel architectures: Terracotta convierte su multicomputador de paso de mensajes en un multiprocesador de memoria unificada habitual. Los multiordenadores son diferentes de los multiprocesadores porque los procesadores comparten la memoria y, por lo tanto, son más fáciles de programar porque simplemente se escribe en la memoria de la manera habitual de subprocesamiento múltiple. Sin embargo, significa que necesita sincronizar explícitamente el acceso a los datos compartidos mediante un bloqueo, el sistema le ahorra la necesidad de realizar un intercambio de datos explícito y resuelve el mayor problema de programación paralela: la coherencia del caché, para usted. El multiprocesador clasifica los datos por usted cuando toma/suelta el bloqueo. Por lo tanto, es deseable. Pero, inicialmente, tienes un montón de computadoras, una multicomputadora.

La magia se consigue inyectando algún código en las clases en los puntos de acceso del campo/bloqueo del objeto. Para corresponder al mundo de DB, Terracotta considera todas las actualizaciones hechas bajo un bloqueo atómico (transacción). Del mismo modo, los multiprocesadores pueden tener un almacenamiento global, Terracotta permite hacer una copia de seguridad de los datos actualizados localmente en el disco.