- Che cos'è la terracotta?
- Quali servizi offre?
- Quali problemi risolve?
- Quali altri prodotti risolvono problemi simili a quelli che Terracotta risolve?
risposta
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.
Ho trovato un articolo in JavaWorld su Terracotta al http://www.javaworld.com/javaworld/jw-01-2009/jw-01-osjp-terracotta.html.
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.
Hai codice in produzione utilizzando questo? –
Vedi le società elencate in prima pagina (http://www.hazelcast.com). Visita anche il 'Testimonianze' per vedere chi lo ha usato per cosa. –
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.
Suggerisco di iniziare con http://en.wikipedia.org/wiki/Terracotta_Cluster e quindi tornare con una domanda più specifica. – skaffman
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". –
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. –