Partitionsführung verstehen

Jede Partition verfügt über einen Server im Cluster, der als Leader der Partition fungiert, und über andere Server, die als Follower fungieren. Alle Anforderungen zur Erstellung und Verarbeitung für die Partition werden vom Leader bearbeitet. Die Follower replizieren die Partitionsdaten des Leaders mit dem Ziel, mit dem Leader Schritt zu halten. Wenn ein Follower mit dem Leader einer Partition mithält, ist das Replikat des Followers synchron.

Wenn eine Nachricht an den Leader der Partition gesendet wird, ist diese Nachricht für die Consumer nicht sofort verfügbar. Der Leader hängt den Datensatz für die Nachricht an die Partition an und weist ihr die nächste Offset-Nummer für diese Partition zu. Nachdem alle Follower für die synchronen Replikate den Datensatz repliziert und bestätigt haben, dass sie den Datensatz in ihre Replikate geschrieben haben, wird der Datensatz jetzt festgeschrieben. Die Nachricht ist jetzt für die Consumer verfügbar.

Wenn der Leader für eine Partition fehlschlägt, übernimmt einer der Follower mit einem synchronen Replikat automatisch die Rolle des Leaders der Partition. In der Praxis heißt das, dass jeder Server der Leader für einige Partitionen und der Follower für andere Partitionen ist. Der Prozess der Bestimmung einer neuen Führungsreplik wird als Führungswahl bezeichnet. Das Leadership von Partitionen ist dynamisch und ändert sich mit den Servern.

Anwendungen müssen keine speziellen Maßnahmen durchführen, um die Änderung im Leadership einer Partition zu behandeln. Die Kafka -Clientbibliothek stellt automatisch die Verbindung zum neuen Leader wieder her, obwohl die Latenzzeit zunimmt, während sich der Cluster einrichtet.