EMZETT.
Login

etcd und ZooKeeper

Kurz: etcd und ZooKeeper sind kleine, stark konsistente Datenspeicher, mit denen verteilte Programme Konfiguration, Sperren und die Wahl eines Anführers koordinieren.

Genauer: Sie speichern wenige, wichtige Daten auf mehreren Knoten und einigen sich per Konsensverfahren darauf. etcd nutzt Raft, ZooKeeper das Protokoll ZAB.

Im Detail

  • Datenmodell: etcd: flacher Schlüssel-Wert-Speicher. ZooKeeper: Baum aus „Znodes” wie ein Dateisystem.
  • Watches: Clients lassen sich über Änderungen benachrichtigen, statt ständig nachzufragen.
  • Leases/ephemere Knoten: Ein Eintrag verschwindet, wenn der Besitzer ausfällt. Darauf bauen Dienstregistrierung und Anführerwahl.
  • Quorum: Es braucht die Mehrheit der Knoten (3 oder 5). Fällt sie weg, wird nicht mehr geschrieben.
  • Einsatz: etcd ist der Zustandsspeicher von Kubernetes. ZooKeeper koordinierte lange Kafka und Hadoop.
  • Nicht gedacht für: große Datenmengen oder hohe Schreiblast.

Siehe auch: Kubernetes