etcd: Definition, Funktionsweise und etcd-Beispiel


Will man etcd verstehen, ist es wichtig, die drei Kernbegriffe im Anwendungscluster für die Verwaltung von Speichern zu kennen:

  • Anführer (leader)
  • Wahlen (elections)
  • Zeiträume (terms)

In Raft-basierten Systemen wählt das Cluster für einen bestimmten Zeitraum einen Anführer. Dieser bearbeitet alle Speicheranfragen, die dem Konsens des Clusters entsprechen. Anfragen, die keine Zustimmung des Clusters erfordern – wie Lesezugriffe – kann jedes Mitglied des Clusters eigenständig beantworten. Akzeptiert der Anführer eine Änderung, sorgt etcd dafür, dass er die Information an die Nachfolgeknoten repliziert. Sobald diese den Empfang bestätigt haben, übernimmt der Anführer die Änderung.

Die Abstimmung des Anführers mit den Knoten des Clusters durch eine etcd-Datenbank ist besonders bei verteilten Anwendungen wertvoll. Beinträchtigen Änderungen die Funktionsweise eines Knotens, kann dieser die Änderungen blockieren. Dadurch ist gewährleistet, dass die Anwendung stabil läuft und Folgeprobleme minimiert werden.

Fällt der Anführer aus oder antwortet längere Zeit nicht, wählen die verbleibenden Knoten des Clusters nach einer bestimmten Zeitspanne einen neuen Anführer. Die Zeit, die vergeht, bis ein Knoten eine Neuwahl fordert und sich selbst als Kandidat bestimmt, ist dabei von Knoten zu Knoten unterschiedlich. Bestimmt wird diese durch eine „Stoppuhr“, über die jeder Knoten verfügt. So ist gewährleistet, dass möglichst schnell Knoten als Anführer einspringen können.

Damit bei den Wahlen stets eine Mehrheit erzielt wird, muss die Anzahl der Knoten im Cluster ungerade sein. Aus Performance-Gründen empfiehlt es sich, kein Cluster zu verwenden, das mehr als sieben Knoten besitzt.



Source link

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.