In Consul können Sie viele Agenten als Server oder Clients haben. Unter allen Servern wird einer als Anführer ausgewählt. Aus der Sicht des Agenten, wie weiß es, dass es der Anführer ist?
Eine Möglichkeit besteht darin, den Cluster mit http://<localhost_ip_address>:8500/v1/status/leader
Dies wird den aktuellen Anführer zurückgeben. Überprüfen Sie dann die IP-Adresse, die für die lokale IP-Adresse zurückgegeben wird.
Der Konsulsführer wird durch eine Implementierung des Floß-Protokolls aus dem Kollegium der Konsul-Server gewählt . Nur Consul-Instanzen, die als Server konfiguriert sind, nehmen an der Raft-Protokoll-Kommunikation teil. Der Consul-Agent (der Daemon) kann entweder als Client oder ein Server . Nur ein Server kann der Leiter eines Rechenzentrums sein.
Das Raft-Protokoll wurde von Diego Ongaro und John Ousterhout von der Stanford University als Reaktion auf die Komplexität bestehender Konsensprotokolle wie Paxos . Raft wählt einen Anführer über den Einsatz von zufälligen Timern. Der Algorithmus ist ausführlich in Ongaro und Ousterhouts Papier beschrieben.
Consul-Instanzen, die als Clients konfiguriert sind, kommunizieren über das Gossip-Protokoll , das auf dem Cluster basiert, mit dem Cluster Diener . Serf Kommunikation ist schließlich konsistent. Der Serf-Cluster hat keinen zentralen Server, jeder Knoten wird als gleich angesehen. Alle Knoten (Clients und Server), die am Gossip / Serf-Protokoll teilnehmen, verbreiten Nachrichten an ihre Nachbarn, die wiederum Nachrichten an ihre Nachbarn verteilen, bis die Nachricht an den gesamten Cluster weitergegeben wurde. So ähnlich wie der Infektionspfad einer Zombie-Apokalypse. Dies geschieht, um den Kommunikationsaufwand im Cluster bei der Skalierung auf möglicherweise mehrere zehntausend Knoten erheblich zu reduzieren.
Consul Clients können Nachrichten an jeden Consul Server weiterleiten, der die Nachricht dann an den Leader weiterleitet. Consul Clients müssen sich nicht darum kümmern, welcher Consul Server der Leader ist. Nur die Server müssen sich darum kümmern.
Die Consul HTTP-API , die auf einem beliebigen Consul-Server ausgeführt wird, sagt Ihnen, welcher Server an der Spitze in% ist. Code%. Das hat jedoch nichts damit zu tun, wie die Konsulagenten die Führerwahl durchführen.
Tags und Links consul