Frage

Ich habe mich derzeit als Weg zur Koordinierung einer Servergruppe untersucht, stieß aber darauf Apache's Zookeeper nach dem Weg. Es sieht interessant aus und Yahoo benutzt es, also sollte es nicht schlecht sein, aber ich hatte noch nie davon gehört, also bin ich irgendwie skeptisch. Hat es noch jemand Versuch gegeben? Irgendwelche Kommentare oder Ideen?

War es hilfreich?

Lösung

Zookeeper und Memcached haben unterschiedliche Zwecke. Sie können Memcached verwenden, um die Serverkoordination durchzuführen, müssen jedoch die meisten dieser Arbeiten selbst erledigen. Memcached ermöglicht nur eine Koordination, als sie von mehreren Clients häufig zu Daten zur Datenspeicherung zwischengezogen werden. Nach dem Lesen von Zookeeper's Dokumentation hat es einen viel breiteren Schwerpunkt. Zookeeper scheint Unterstützung für das Serverclustering zu bieten, was nicht mit dem Cache -Clustering -Memcached nicht übereinstimmt.

Schauen Sie sich das Linux -Journal von Brad Fitzpatrick an Artikel auf memcached, um eine bessere Idee zu bekommen, was ich meine.

Andere Tipps

Um einen Überblick darüber zu erhalten, wozu Zookeper fähig ist, sehen Sie sich die folgende Präsentation der Schöpfer an. Es ist in der Lage zu viel mehr (erstellen Sie Queue's, wählt Master-Prozesse unter einer Gruppe von Kollegen, verteilte Hochleistungs-Laufzeitkonfigurationen, Rendezvous-Punkte für disbezogene Prozesse, festzustellen, ob Prozesse noch ausgeführt werden usw.).

http://zookeeper.sourceforge.net/index.sf.shtml

Um Ihre Frage zu beantworten, ist "Koordination" das, was Sie für Zookeeper suchen, viel besser darauf abzielt als auf Memcached.

Zookeeper eignet sich hervorragend für die Koordinierung von Daten zwischen Servern. Es leistet gute Arbeit, jede Transaktion zu bestellen und Garantien zu ermöglichen, dass Transaktionen in Ordnung kommen. Wenn jedoch die Dokumentation zum ersten Mal einbrach; Es ist sehr "hochrangiger" ohne genügend konkrete Beispiele oder Erklärungen, um mit bestimmten Ereignissen ordnungsgemäß umzugehen. Eines der eingeschlossenen Beispiele (ab Version 3.3.3) hatte seine eigenen Fehler.

Ihr Code muss sich auch über ereignisgesteuerte Interaktionen und Wechselwirkungen bewusst sein. Bei der massiv verteilten Architektur können Sie bei der Einwirkung von „Ereignissen“ versehentlich einen Stampede erstellen, der für Ihre Umgebung nicht wünschenswert sein könnte (Herding -Effekt).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top