Kapitel 2. Sich mit ZooKeeper vertraut machen

Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com

Im vorangegangenen Kapitel wurden die Anforderungen verteilter Anwendungen auf einer hohen Ebene erörtert und argumentiert, dass sie oft gemeinsame Anforderungen an die Koordination haben. Anhand des Master-Worker-Beispiels, das repräsentativ für eine breite Klasse praktischer Anwendungen ist, haben wir einige der dort beschriebenen, häufig verwendeten Primitive herausgearbeitet. Nun können wir ZooKeeper vorstellen, einen Dienst, der die Implementierung solcher Primitive für die Koordination ermöglicht.

Grundlagen von ZooKeeper

Mehrere Primitive, die für die Koordination verwendet werden, werden häufig von vielen Anwendungen genutzt. Eine Möglichkeit, einen Koordinationsdienst zu entwerfen, besteht daher darin, eine Liste von Primitiven zu erstellen, Aufrufe zur Erstellung von Instanzen der einzelnen Primitiven zu veröffentlichen und diese Instanzen direkt zu bearbeiten. Wir könnten zum Beispiel sagen, dass verteilte Sperren ein wichtiges Primitiv sind und Aufrufe zum Erstellen, Erwerben und Freigeben von Sperren bereitstellen.

Ein solches Design leidet jedoch unter einer Reihe von wichtigen Mängeln. Erstens müssen wir entweder vorher eine vollständige Liste der verwendeten Primitive erstellen oder die API ständig erweitern, um neue Primitive einzuführen. Zweitens gibt es der Anwendung, die den Dienst ...

Get ZooKeeper now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.