2008-11-11 8 views
9

Hat jemand Erfahrung mit dem Open-Source-Angebot von Terracotta im Gegensatz zu seinem Enterprise-Angebot? Insbesondere interessiert mich, ob es sich lohnt, Terrakotta ohne die Enterprise-Tools zu verwenden, um Ihren Cluster zu verwalten.Irgendwelche Erfahrungen mit Terracotta Open Source?

Übersicht über die vereinfachte Verwendung: Wir sind ein kleines Startup mit begrenztem Budget, das Millionen von Datensätzen verarbeiten und für Hunderttausende von Seitenaufrufen pro Tag skalieren muss.

Antwort

5

Im Moment bieten die Terracotta-Enterprise-Tools nur wenige Funktionen jenseits der Open-Source-Version um Dinge wie Visualisierung und Verwaltung (wie die Fähigkeit, einen Client aus dem Cluster zu treten). Das wird weiter auseinander gehen und die Enterprise-Tools werden wahrscheinlich mehr Funktionalität auf Operator-Ebene bieten, etwa bei der Verwaltung und Überwachung, aber Sie können eine App auch mit den Open-Source-Tools sicher verwalten und optimieren.

Die Unternehmenslizenz gibt Ihnen auch Dinge wie Unterstützung, Entschädigung usw., die für Sie genauso wichtig sein können oder auch nicht.

Ich würde Sie drängen, es für sich selbst zu versuchen.Wenn Sie möchten, das ein Beispiel einer realen Anwendung sehen, Terracotta verwenden, sollten Sie dieses Referenz Web-App überprüfen, die gerade veröffentlicht wurden:

The Examinator

-8

aktualisieren

Was ich in der OP Meldung ist „gut, ich weiß nicht wirklich, was wir (also der Mangel an detaillierten Anforderungen) benötigen, können jedoch einige enterprizey Werkzeug sein wird, alle magisch lösen unsere Probleme, bekannt und unvorhergesehen? Das wäre super! "

Mit einem architektonischen Ansatz wie diesem wird es nicht fliegen. Keine Erfolgsgeschichte von Teracotta würde das ändern.

OSS ist vorteilhaft, wenn die Gemeinschaft die kommerzielle Unterstützung ersetzen kann. Angenommen, der Typ hat ein Problem in der Produktion. Die Gemeinschaft kann nicht helfen - für das obskure Produkt wie dieses ist es zu klein. Server sind heruntergefahren, das Geschäft ist in Gefahr. Siehst du? Sie benötigen eine kommerzielle Lizenz im Voraus. Kein Geld? Nun, dann bist du kein Geschäft, und wahrscheinlich nicht eins werden (wenn niemand bereit ist, in es zu investieren).

Entschuldigung für die Unterbrechung Ihres Tagträumens.

IMHO:

Terracotta ist eine Clustering-Lösung. Clustering ist für große Anwendungen in Unternehmen erforderlich. Große Anwendungen bedeuten große Budgets. Große Budgets bedeuten, dass Sie sich eine kommerzielle Lizenz von Terracotta leisten können.

Um es anders auszudrücken: Wenn Sie kein Budget haben, um es zu kaufen, ist es wahrscheinlich nicht vorteilhaft für Ihr Projekt.

+0

Ich bin nicht einverstanden mit "große Anwendungen bedeuten große Budgets." Wenn Sie beispielsweise ein Startup sind, das ein "Enterprise-Volumen" an Daten verarbeitet, ist Ihr Budget klein, aber Ihre Anforderungen sind groß. –

+0

Im Allgemeinen bedeutet es nicht, dass es Ihnen nicht hilft, wenn Sie nicht das Budget haben, etwas zu kaufen. Es gibt verschiedene Kompromisse. Zum Beispiel, Preis zu kaufen von der Stange gegen die Zeit, um etwas im Haus zu bauen. –

+0

Startup-Handling "Enterprise-Volume" müsste mindestens in Enterprise-Hardware investieren, und auch in großen Backup-Lösungen, und so weiter und so weiter. Großes Budget würde von Venture oder Angel Investoren kommen, aber es muss sowieso da sein. –

1

Sie können sich JBossCache/PojoCache ansehen, eine In-Memory-Lösung für verteiltes Caching. Der Unterschied ist, dass es eine einfache API verwendet, um Objekte über Ihren 'Cluster' von Caches zu verbreiten, wobei Terracotta auf der Ebene 'classloading/jvm' arbeitet.

(Sie haben nicht wirklich ihre eigene JVM haben, aber sie Klassen ändern, da sie zu erlauben geladen werden, um sie ‚cluster‘ zu sein)

Unsere Firma viel Glück mit JBossCache hätte, würde ich empfehlen check es aus.

+0

Rechts. Wahrscheinlich JBossCache (AKA JGroups?) Ist alles was sie brauchen –

+0

Wie macht das Sinn? Der ursprüngliche Beitrag erwähnt nicht die Anforderungen für die tatsächliche Verwendung oder nicht von Terracotta. Es fragt, ob sie OSS oder Enterprise benötigen. In dieser Antwort wird jedoch festgestellt, dass Terracotta überhaupt nicht notwendig ist. WTF. Das war nicht die Frage. –

+0

JGroups ist nicht identisch mit JbossCache. JbossCache verwendet JGroups, ein zugrunde liegendes Framework für Multicast und RPC. Re: Taylor. Wenn jemand fragt, ob die HotSpot-VM gut genug ist, um x zu machen, und ich antworte: "Nun, ich hatte Glück, x mit JRockit zu machen", wie ist das nicht hilfreich? – runT1ME

8

Ich bin in einem Prozess Terracotta mit meinem Projekt zu integrieren (ein Sensornetzwerk-Simulator). Vor ungefähr drei Wochen habe ich von einem meiner Kollegen Terracotta entdeckt. Und jetzt nutzt meine Anwendung Grid-Computing mit Terracotta. Im Folgenden habe ich einige wesentliche Punkte meiner Erfahrungen mit Terracotta zusammengefasst.

  • Die Terracotta-Site enthält ziemlich ausführliche Dokumentation. Dieser Artikel ist wahrscheinlich ein guter Ausgangspunkt für einen Entwickler Concept and Architecture Guide
  • Wenn Sie mit einem Problem stecken und keine Antwort in der Dokumentation finden, ist die Terracotta community forum ein guter Ort, um Fragen zu stellen. Es scheint, dass Terracotta-Entwickler es regelmäßig überprüfen und ziemlich ansprechend sind.
  • Auch wenn Terracotta unter JVM ausgeführt wird und beworben wird, dass es nur eine Frage der Konfiguration ist, damit Ihre Anwendung in einem Cluster ausgeführt wird, sollten Sie bereit sein, einige schwerwiegende Änderungen in Ihrer Anwendung vorzunehmen Leistung einigermaßen gut. Z.B. Ich musste die Synchronisationslogik meiner Anwendung komplett neu schreiben.
  • Gute Integration mit Eclipse.
  • Admin-Konsole ist ein großartiges Werkzeug und es hat mir sehr geholfen, meine Anwendung zu verbessern, um unter Terracotta anständig zu funktionieren. Es sammelt alle Leistungsmetriken von Servern und Clients, an die Sie nur denken können. Es hat sicherlich einige GUI-bezogene Probleme, aber wer nicht :-)
  • Bevorzugen Sie Standard-Java-Synchronisierung Primitiven (synchronisiert/warten/benachrichtigen) über java.util.concurrent. * Bürger. Ich fand, dass Standard-Primitive höhere Flexibilität bieten (können als Cluster-Lock oder gar nicht-Lock konfiguriert werden), einfacher in der Admin-Konsole zu verfolgen (Sie sehen den Klassennamen des gesperrten Objekts) dann zB ein ReentrantLock).

Hoffe, dass hilft.