2010-05-03 36 views
14
  • Che cos'è la terracotta?
  • Quali servizi offre?
  • Quali problemi risolve?
  • Quali altri prodotti risolvono problemi simili a quelli che Terracotta risolve?
+1

Suggerisco di iniziare con http://en.wikipedia.org/wiki/Terracotta_Cluster e quindi tornare con una domanda più specifica. – skaffman

+1

Wikipedia afferma che "il clustering a livello JVM di Terracotta può trasformare applicazioni single-node e multi-thread in applicazioni distribuite multi-nodo, spesso senza modifiche al codice". Sembra troppo bello per essere vero, il che potrebbe essere uno dei motivi per cui Wikipedia afferma anche che l'articolo è "scritto come un annuncio". –

+1

Oggi, Terracotta offre molto di più (basato su diversi prodotti) ma il clustering JVM è stato la tecnologia di punta di Terracotta sin dall'inizio. Perché suona troppo bene? Ad ogni modo, il codice è open source, sentitevi liberi di verificarlo o provarlo. –

risposta

8

Trova un grande articolo su terracotta e come funziona a InfoQ scritti direttamente da Orion Letizi, co-fondatore e ingegnere del software di Terracotta:

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

Mi ha aiutato a prepararsi per un webcast sulla terracotta e su come può essere usato per raggruppare e scalare le applicazioni dei graal e mi ha dato una buona panoramica sulla terracotta.

2

Quali altri prodotti risolvono problemi simili a quelli che Terracotta risolve?

Prova Hazelcast, è semplicissimo da usare. Tecnologia di clustering peer to peer, altamente scalabile e completamente open source per Java. Viene semplicemente distribuito Map, Queue, MultiMap, ExecutorService. Puoi usare la sua mappa come cache distribuita.

+0

Hai codice in produzione utilizzando questo? –

+0

Vedi le società elencate in prima pagina (http://www.hazelcast.com). Visita anche il 'Testimonianze' per vedere chi lo ha usato per cosa. –

4

I like to think about Terracottas DSO in terms of advanced parallel architectures: Terracotta trasforma il tuo multicomputer passando il messaggio in un normale multiprocessore di memoria unificata. I multicomputer sono diversi dai multiprocessori in quanto i processori condividono la memoria e, quindi, sono più facili da programmare perché basta scrivere in memoria nel solito modo multithreading. Tuttavia, significa che è necessario sincronizzare in modo esplicito l'accesso ai dati condivisi mediante un blocco, il sistema ti salva dalla necessità di inviare messaggi in modo esplicito al marshalling dei dati e risolve il problema di programmazione parallela più grande - la coerenza della cache - per te. Il multiprocessore esegue il marshalling dei dati per te quando si prende/rilascia il blocco. È, quindi, desiderabile. Ma, inizialmente, hai un sacco di computer: un multicomputer.

La magia si ottiene iniettando del codice nelle classi nel campo oggetto/blocco dei punti di accesso. Per corrispondere al mondo DB, Terracotta considera tutti gli aggiornamenti eseguiti sotto un blocco atomico (transazione). Allo stesso modo, i multiprocessori possono avere una memoria globale, Terracotta consente di eseguire il backup dei dati aggiornati localmente su disco.

Problemi correlati