2010-05-03 37 views
14
  • Was ist Terrakotta?
  • Welche Dienste bietet es?
  • Welche Probleme löst es?
  • Welche anderen Produkte lösen ähnliche Probleme wie Terracotta?
+1

Ich schlage vor mit http://en.wikipedia.org/wiki/Terracotta_Cluster beginnen und dann mit einer spezifischeren Frage zurückkommen. – skaffman

+1

Wikipedia behauptet, dass "Terracottas JVM-Level-Clustering Single-Node-, Multi-Threaded-Anwendungen in verteilte Anwendungen mit mehreren Knoten verwandeln kann, oft ohne Code-Änderungen." Das klingt zu schön, um wahr zu sein, was ein Grund sein könnte, warum Wikipedia auch behauptet, der Artikel sei "wie eine Werbung geschrieben". –

+1

Heute bietet Terracotta viel mehr (basierend auf mehreren Produkten), aber JVM Clustering ist von Anfang an die Technologie von Terracotta. Warum klingt es zu gut? Wie auch immer, der Code ist Open Source, fühlen Sie sich frei, es zu überprüfen oder es zu versuchen. –

Antwort

8

einen großen Artikel über Terracotta finden und wie es bei InfoQ geschrieben direkt von Orion Letizi, Mitbegründer und Software-Ingenieur bei Terracotta arbeitet:

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

Es hat mir geholfen, einen Webcast zur Vorbereitung über Terrakotta und wie es für Clustering und Scaling von Grils verwendet werden kann und gab mir einen guten Überblick über Terracotta.

2

Welche anderen Produkte lösen ähnliche Probleme wie Terracotta?

Versuchen Sie Hazelcast, es ist super einfach zu bedienen. Peer to Peer, hochskalierbare Open-Source-Clustering-Technologie für Java. Es ist einfach verteilt Karte, Warteschlange, MultiMap, ExecutorService. Sie können die Karte als verteilten Cache verwenden.

+0

Haben Sie in der Produktion Code mit diesem Code? –

+0

Siehe die Unternehmen auf der Startseite (http://www.hazelcast.com). Besuchen Sie auch die "Testimonials", um zu sehen, wer es für was verwendet hat. –

4

I like to think about Terracottas DSO in terms of advanced parallel architectures: Terracotta verwandelt Ihren Message-passing Multicomputer in einen üblichen Unified Memory Multiprozessor. Multicomputer unterscheiden sich von Multiprozessoren darin, dass Prozessoren Speicher gemeinsam nutzen und daher einfacher zu programmieren sind, weil Sie einfach in den üblichen Multithreading-Modus in den Speicher schreiben. Obwohl es bedeutet, dass Sie explizit den Zugriff auf die freigegebenen Daten mit einer Sperre synchronisieren müssen, erspart Ihnen das System das explizite Message-Passing von Daten-Marshalling und löst das größte Problem der parallelen Programmierung - die Cache-Kohärenz - für Sie. Multiprozessor marshallt die Daten für Sie, wenn Sie die Sperre übernehmen/freigeben. Es ist daher wünschenswert. Aber zunächst haben Sie eine Reihe von Computern - ein Multicomputer.

Die Magie wird erreicht, indem Code in die Klassen bei Objektfeld/Lock Access Points injiziert wird. Um der Welt der DB zu entsprechen, betrachtet Terracotta alle Aktualisierungen, die unter einer atomaren Sperre ausgeführt werden (Transaktion). Ebenso können Multiprozessoren einen globalen Speicher haben, Terracotta erlaubt es, die lokal aktualisierten Daten auf Festplatte zu sichern.