Aber wenn einer von den ungeraden Anzahl von Mastern ausfällt sind es wieder gerade Anzahl von Mastern. Das würde in dem Fall dann ja bedeuten, das 2 (wenn es vorher 3 waren) um den Masterrang streiten, oder?
Um mal ein Beispiel zu geben (Kubernetes unabhängig):
Dein System ist für irgendeine wichtige Aufgaben verantwortlich, die nacheinander abgearbeitet werden müssen, aber jede darf nur genau einmal ausgeführt werden, und um das ganze sicherer zu machen, kümmern sich mehrere drum.
Erstmal angenommen, es kümmern sich A und B darum: solange die beide sich absprechen können, ist alles gut und sie können sicherstellen, dass nicht einer das gleiche macht, wie der andere.
Probleme gibt es dann, wenn einer von beiden ausfällt, zB B: A sieht dann nur, dass B nicht mehr erreichbar ist, weiß aber nicht warum. Weil A nicht weiß, ob B weiter macht, kann er selbst aber auch nicht weiter machen, um zu verhindern, dass beide das gleiche machen.
Jetzt das gleiche Szenario mit A, B und C:
B fällt wieder aus, aber A und C erreichen sich noch gegenseitig. Weil man vorher festgelegt hat, dass man weiter machen kann, solange es mehr als die Hälfte ist, können A und C jetzt weiter machen, weil sie sich darauf verlassen können, dass B nicht weiter macht. Und gleiches aus Sicht von B: wenn es A und X nicht erreichen kann: es macht dann nicht weiter, weil es weniger als die Hälfte ist.
Wichtig ist es dann, wenn sie
@LimDul schon gesagt hat, das Netzwerk in zwei Teile zerfällt. Beide Teile sind dann selbst noch lauffähig und sehen nur, dass der Rest nicht mehr erreichbar ist – es darf aber nur einer der Teile weiterarbeiten, um Probleme zu vermeiden, und das ist eben am einfachsten über die Mehrheit entscheidbar.