2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Makler : Bezieht sich auf einen Knoten im Kafka-Cluster. Ein Kafka-Cluster besteht aus mehreren Brokern, die zusammenarbeiten, um die Speicherung, Übertragung und den Verbrauch von Nachrichten zu verwalten. Der Broker verwaltet eine oder mehrere Partitionen.
Thema : Der Produzent sendet die Nachricht an das angegebene Thema, und der Verbraucher abonniert das Thema, um die Nachricht zu erhalten. Das Thema selbst ist nur eine logische Gruppierung und hat kein Konzept für physische Speicherung.
Partition : Es handelt sich um eine Teilmenge von Topic und die Grundeinheit für die tatsächliche Speicherung und Verarbeitung von Nachrichten in Kafka. Jedes Thema kann in mehrere Partitionen unterteilt werden, und jede Partition ist eine geordnete, unveränderliche Nachrichtensequenz.
Replik: Eine Partition kann mehrere Kopien haben.
Führender Makler: Bei mehreren Kopien einer Partition ist der Broker für die Verarbeitung aller Lese- und Schreibanforderungen für die Partition verantwortlich.
FollowerBroker: Bei mehreren Kopien einer Partition befindet sich der Broker, der für die Synchronisierung der Daten des Anführers verantwortlich ist, in der Partition.
Der Produzent sendet die Nachricht (Datensatz) an Kafka, und der Verbraucher erhält die Daten über den Offset (Offset, ähnlich einem Array-Index).
Gleichzeitig verfügt jede Partition über eine eigene Protokolldatei. Kafka verwendet Protokolldateien, um Daten auf der Festplatte zu speichern.
Produzenten stellen über Bootstrap Broker eine Verbindung zum Kafka-Cluster her. In diesem Schritt wird die erste Verbindung hergestellt und die Metadaten des Clusters abgerufen.
Sobald der Produzent diese Metadaten erhält, weiß er, wer der Leader-Broker für jede Partition ist und kann daher Nachrichten direkt an den richtigen Leader-Broker senden.
Der Produzent muss beim Senden einer Nachricht ein Thema angeben, die Partitionierung ist jedoch optional.
Wenn in Kafka ein Produzent eine Nachricht an einen Broker sendet, besteht die erste Operation des Brokers darin, die Nachricht auf der Festplatte aufzuzeichnen, um die Persistenz und Zuverlässigkeit der Nachricht sicherzustellen.
Konsumenten gehören bei Kafka meist einer Konsumentengruppe an. Jede Verbrauchergruppe verfügt über eine eindeutige Gruppen-ID. Das Konzept der Verbrauchergruppen wird verwendet, um einen Lastausgleich und den parallelen Verbrauch von Nachrichten zu erreichen.
Wenn mehrere Verbraucher derselben Gruppe angehören, weist Kafka die Themenpartition den Verbrauchern in der Gruppe zu.Jede Partition kann nur von einem Verbraucher innerhalb der Gruppe genutzt werden, wodurch ein Lastausgleich erreicht werden kann.
Ein einzelner Verbraucher abonniert ein Thema:
Mehrere Verbraucher gehören derselben Gruppe an:
Mehrere Verbraucher gehören unterschiedlichen Gruppen an:
Kafka erstellt neue Partitionen im Cluster. Diese neuen Partitionen werden verschiedenen Brokern zugewiesen, um eine ausgewogene Speicherung und hohe Datenverfügbarkeit zu erreichen. Kafka verteilt oder gleicht Daten nicht automatisch von vorhandenen Partitionen auf neue Partitionen aus. Neue Partitionen sind ab dem Zeitpunkt ihrer Erstellung leer und Daten werden nur dann in diese neuen Partitionen geschrieben, wenn nachfolgende Produzenten Nachrichten senden. Die Verbrauchergruppe erkennt die Änderung der Anzahl der Partitionen und löst eine Neuverteilung aus.
Kafka ermöglicht, dass jede Partition über mehrere Replikate (Replica) verfügt, die auf verschiedenen Brokern gespeichert werden. Ein Replikat wird als Leader bezeichnet und ist für die Verarbeitung aller Lese- und Schreibanforderungen verantwortlich. Die anderen Replikate sind Follower und für die Synchronisierung der Daten des Leaders verantwortlich.
Nur eine Kopie mehrerer Kopien kann gleichzeitig lesen und schreiben, nämlich die Leader-Kopie. Die anderen Kopien werden zu Follower-Kopien und werden als Backups verwendet.