Leader Election

Leader Election bezeichnet ein Verfahren in verteilten Computersystemen, bei dem mehrere gleichberechtigte Rechner oder Prozesse bestimmen, wer vorübergehend die führende Rolle übernimmt. Dieser Leader kann anschließend bestimmte Aufgaben koordinieren, Entscheidungen anstoßen oder verhindern, dass dieselbe Arbeit gleichzeitig mehrfach ausgeführt wird.

Anschaulich ist das wie bei mehreren Mitarbeitern, die denselben Bereitschaftsdienst übernehmen könnten: Einer wird zum Verantwortlichen bestimmt, die anderen bleiben verfügbar. Fällt der Verantwortliche aus, wird automatisch ein neuer gewählt.

Solche Verfahren sind wichtig, weil verteilte Systeme auch bei Ausfällen weiterarbeiten sollen. Dabei muss zuverlässig verhindert werden, dass gleichzeitig mehrere Teilnehmer glauben, sie seien der Leader. Systeme wie etcd oder Apache ZooKeeper stellen deshalb Mechanismen für solche Wahlen bereit. Je nach Technik kommen dabei unterschiedliche Konsens- und Koordinationsverfahren zum Einsatz.