Bistrup Gruppe, Hjørring, Halvorsmindevej 28

Muster wahlprotokoll

Wie bei der Wahl der Anführer sollten sich alle teilnehmenden Instanzen über den Schlüssel einigen, der zur Koordinierung verwendet wird. Dieser Schlüssel wird als Schlüssel bezeichnet. Frühling des Jahres vor einer Wahl – Die Kandidaten geben ihre Absicht bekannt, zu kandidieren. Ein Algorithmus für die Wahl des Führers kann in den folgenden Aspekten variieren:[5] Je nach der genauen Umsetzung der Leader-Wahl durch Paxos sind eine Reihe von Ergebnissen möglich, aber sie alle haben zwei Eigenschaften gemeinsam. Die Knoten D und E werden keinen neuen Führer wählen können, da sie keine Mehrheit haben. Die Knoten A und B werden keinen neuen Anführer wählen, bevor sie erfahren, dass Knoten C in Runde 2 gewählt wurde. Unter der Annahme, dass das Endkriterium jeder Führungsspitze ein Timeout ist, gibt es zwei mögliche Ergebnisse. Wenn Knoten C vor Ablauf seiner Amtszeit Kontakt mit den Knoten A und B herstellt, wird er das Quorum wieder herstellen, seine Führungsrolle wieder aufnehmen, und es ist keine Leaderwahl erforderlich. Wenn seine Amtszeit beendet ist, können entweder Knoten A, B oder C gewählt werden. Angenommen, Knoten A ist der erste Knoten C im Netzwerk, wird er versuchen, als Leader für Die 2 wiedergewählt zu werden, aber Knoten C wird dies ablehnen, da er bereits einen Leiter für Term 2 hat. Knoten A hat dann die Möglichkeit, für die Wahl für die 3. Amtszeit zu versuchen. Wenn dies der Zeitpunkt ist, wird er knoten B auch über die Zeit von Knoten C als Führungskraft in Term 2 informieren.

Was ist nun, wenn Knoten C und A versuchen, gleichzeitig gewählt zu werden? Die vollständige Antwort auf diese Frage erfordert, in die Besonderheiten von Paxos einzugehen, was aerther für diesen Artikel ist, aber die kurze Antwort ist, dass die Wahl scheitern wird. In der Tat schlägt das ursprüngliche paxos-Papier vor, einen Leader-Wahlalgorithmus zu verwenden, um zu entscheiden, welcher Knoten der einzige sein soll, der neue Vorschläge einleitet, aber da das Paxos-Protokoll garantiert, dass es keine Ungereimtheiten geben wird, selbst wenn es mehrere Knoten gibt, die widersprüchliche Aussagen vorschlagen, könnte dieser Leader-Wahlalgorithmus nur eine einfache Heuristik sein, um aufeinander folgende fehlgeschlagene Runden zu vermeiden. Beispielsweise kann ein Knoten entscheiden, eine randomisierte Zeit zu warten, bevor er erneut versucht, eine fehlgeschlagene Anweisung vorzuschlagen. Diese Flexibilität von Paxos in Bezug darauf, wann und wie man Leader-Wahlen zu tun, kann ein großer Vorteil gegenüber dem einfachen Bully-Algorithmus sein, mit Blick darauf, dass es im wirklichen Leben weit mehr Fehlermodi als eine tote Netzwerk-Verbindung gibt. Was als nächstes geschieht, ist folgende: Die Knoten C, D und E erkennen, dass sie keinen Kontakt mehr mit dem Führer A haben und initiieren anschließend die Leader-Wahl, indem sie Stimmen an C senden. Sobald C drei Stimmen erhalten hat, übernimmt es die Rolle des Führers und beginnt mit der Veröffentlichung in C, D und E. Im anderen Netzwerk erkennt die Führungsgruppe A, dass sie keinen Kontakt mehr zu den Knoten C, D und E hat. Leader A berechnet, dass die neue Clustergröße kleiner als die Quorumgröße ist, gibt die Leaderrolle auf und verhindert effektiv, dass die Knoten A und B auf Abfragen antworten, bis die Verknüpfung wiederhergestellt ist.