Reale Verwendung von Zookeeper [geschlossen]

122

Ich habe mir kürzlich Zookeeper angesehen und mich gefragt, ob jemand es derzeit verwendet und was er speziell zum Speichern verwendet.

Der häufigste Anwendungsfall sind Konfigurationsinformationen, aber welche Art von Daten und wie viele Daten speichern Sie?

Jon
quelle
3
Es gehört zur Hadoop-Gruppe von Technologien. Hier gibt es einen Anwendungsfall von Yahoo, der ziemlich gut ist - developer.yahoo.net/blogs/hadoop/2009/05/…
Jon
Ich weiß nicht genau, wie es verwendet wird, aber ich weiß, dass die neueste Version von HBase (eine Open-Source-BigTable-Implementierung) ZooKeeper verwendet.
Leo P
10
Diese Frage hat mehr positive Stimmen als alle Antworten zusammen. Zookeeper braucht ein besseres Anwendungs-Wiki.
Mixdev
1
Überprüfen Sie, wie Netflix es verwendet. github.com/Netflix/curator/wiki/Recipes Curator ist Netflix 'Wrapper-Bibliothek für ZK.
eSniff
Überprüfen Sie diesen Artikel: stackextend.com/zookeeper/…
Mouad EL Fakir

Antworten:

13

Die Apache CXF-Implementierung von DOSGi verwendet zookeeper als Repository für die Dienstregistrierung. Einzelne Container verfügen über ein verteiltes Softwarepaket (dsw), das auf alle Dienstereignisse wartet und bei Änderung eines Dienststatus eine Eigenschaft aufweist, die die Verteilung angibt. Der dsw spricht mit dem Discovery-Bundle, das im Fall der Referenzimplementierung zookeeper verwendet, um den Dienst als kurzlebige Knoten zu speichern. Andere Instanzen suchen nach Änderungen an der Knotenstruktur und registrieren Proxys auf ihren lokalen Systemen. Das Endergebnis ist, dass Sie in einfaches OSGi codieren und eine transparente Verteilung erhalten können.

John Ellinwood
quelle
17

Freie Software Projekte Powered by ZooKeeper:

Apache-Projekte Unterstützt von ZooKeeper:

Quelle: https://cwiki.apache.org/confluence/display/ZOOKEEPER/PoweredBy

dln385
quelle
17

HBase verwendet Zookeeper zur Koordination von Aktivitäten, für die sein "Hauptknoten" vor der aktuellen Version verantwortlich war. Durch die Umstellung auf Zookeeper ist die zentrale Steuerung kein einziger Fehlerpunkt mehr.

Zookeeper ist sehr vielseitig; Hier ist ein Beispiel für die Verwendung zum Erstellen einer verteilten gleichzeitigen Warteschlange:

http://blog.cloudera.com/blog/2009/05/building-a-distributed-concurrent-queue-with-apache-zookeeper/

Sie können es natürlich auch verwenden, um Ressourcensperren usw. in einem verteilten System zu erstellen.

SquareCog
quelle
14

Alte Frage, aber da diese Seite bei einer Google-Suche nach Anwendungsfällen für Tierpfleger an erster Stelle steht, dachte ich, es wäre am besten, eine aktualisierte Liste zu erstellen

  1. Wikipedia
  2. Zookeeper Wiki
  3. echte Benutzer
Manku
quelle
Der Link 'echte Benutzer' existiert nicht mehr :(
Ginna
10

Norbert ist ein gutes Beispiel für ein skalierbares Produktionssystem. Im Allgemeinen werden Netty, Protocol Buffers und Zookeeper in ein leichtes Framework für die Ausführung von Clusterdiensten integriert. Protokollpuffer werden verwendet, um Ihre Service-API anzugeben, Netty implementiert Abstraktionen auf Transportebene und Zookeeper ist im Wesentlichen ein fehlertoleranter Erkennungsdienst.

Jedes Mal, wenn eine Dienstinstanz gestartet wird, registriert Norbert sie als verfügbare Instanz eines bestimmten Diensttyps. Aus Sicht der Implementierung werden zwei Zookeeper-Bäume erstellt:

  • "/ ServiceName / member" listet alle bekannten Instanzen des Dienstes auf
  • "/ ServiceName / available" listet die aktuell verfügbaren Instanzen des Dienstes auf

Die wichtigste Eigenschaft für jeden Knoten ist die URL, mit der eine Verbindung zur entsprechenden Dienstinstanz hergestellt werden soll. Es ermöglicht den clientseitigen Lastausgleich - ein Norbert-Client findet die Liste der URLs für einen bestimmten Dienstnamen und versucht, eine Verbindung zu einer dieser URLs herzustellen (z. B. Round-Robin oder zufällig).

ndolgov
quelle
6

Es gibt einen guten Artikel über ZooKeeper - The King of Coordination über ZooKeeper bei Elastic Cloud.

Bei Found verwenden wir ZooKeeper beispielsweise ausgiebig für die Ermittlung, Ressourcenzuweisung, Wahl von Führungskräften und Benachrichtigungen mit hoher Priorität. In diesem Artikel stellen wir Ihnen diesen König der Koordination vor und schauen uns genau an, wie wir ZooKeeper bei Found verwenden

Herodot
quelle
5

Solr arbeitet auch daran, ZooKeeper zu integrieren . Hier können Sie sehen, dass sie für dynamische Konfiguration, Sharding, SPOF-Eliminierung (Master / Slave-Wahl), Neuausgleich usw. verwendet werden.

phunt
quelle
3

Storm verwendet Zookeeper, um den gesamten Status zu speichern, damit er nach einem Ausfall in einem seiner (verteilten) Komponentendienste wiederhergestellt werden kann.

Auf diese Weise können die Komponentendienste zustandslos sein und einfach heruntergeladen oder mit den Zookeeper-Servern synchronisiert werden, wenn Konfigurationsdaten benötigt werden. Wenn Sie jemals einen Produktionsserver wiederherstellen mussten, wissen Sie, was für Kopfschmerzen dies sein kann!

Verbraucher der Kafka- Warteschlange können mit Zookeeper Informationen (High Water Mark) darüber speichern, was aus der Warteschlange verbraucht wurde.

Thomas Bratt
quelle
2

In meinem Fall speichern wir Konfigurationsdateien im Zookeeper-Ensemble für die Cluster-Nutzung. Wir verwenden das Leader -> Follower-Schema. Wenn also ein Tierpfleger ausfällt, werden wir auf einen anderen umgestellt (replizierter Modus).

Oleksandr Kovtunenko
quelle
2

Zookeeper wurde für viele andere Dinge als die Konfiguration verwendet. Hier ist eine offizielle Liste der mit zookeeper verteilten Grundelemente.

https://zookeeper.apache.org/doc/current/recipes.html

liheyuan
quelle
Dieser Link funktioniert nicht
Viren
1

datomic verwendet Apache Zookeeper, um die auf Riak basierende Datenspeicherung zu verwalten.

Da Riak derzeit nur eine eventuelle Konsistenz unterstützt, verwendet ein auf Riak ausgeführtes Datomic-System auch Apache ZooKeeper, einen hochverfügbaren Koordinierungsdienst. Datomic verwendet ZooKeeper für die Transactor-Failover-Koordination und für die Handvoll Schlüssel pro Datenbank, die mit CAS aktualisiert werden müssen. Quelle: http://blog.datomic.com/2012/11/riak-and-couchbase-support.html

Mavbozo
quelle