Apache Kafka - Grundlagen

Bevor Sie tief in die Kafka einsteigen, müssen Sie die wichtigsten Begriffe wie Themen, Makler, Produzenten und Verbraucher kennen. Das folgende Diagramm zeigt die Hauptterminologien und die Tabelle beschreibt die Diagrammkomponenten im Detail.

Im obigen Diagramm ist ein Thema in drei Partitionen konfiguriert. Partition 1 hat zwei Offsetfaktoren 0 und 1. Partition 2 hat vier Offsetfaktoren 0, 1, 2 und 3. Partition 3 hat einen Offsetfaktor 0. Die ID des Replikats entspricht der ID des Servers, auf dem es gehostet wird.

Angenommen, wenn der Replikationsfaktor des Themas auf 3 festgelegt ist, erstellt Kafka 3 identische Replikate jeder Partition und platziert sie im Cluster, um sie für alle ihre Vorgänge verfügbar zu machen. Um eine Last im Cluster auszugleichen, speichert jeder Broker eine oder mehrere dieser Partitionen. Mehrere Hersteller und Verbraucher können gleichzeitig Nachrichten veröffentlichen und abrufen.

S.No. Komponenten und Beschreibung
1

Topics

Ein Nachrichtenstrom, der zu einer bestimmten Kategorie gehört, wird als Thema bezeichnet. Daten werden in Themen gespeichert.

Themen sind in Partitionen unterteilt. Für jedes Thema behält Kafka eine Mini-Mutter von einer Partition. Jede solche Partition enthält Nachrichten in einer unveränderlichen Reihenfolge. Eine Partition wird als Satz von Segmentdateien gleicher Größe implementiert.

2

Partition

Themen können viele Partitionen haben, sodass sie eine beliebige Datenmenge verarbeiten können.

3

Partition offset

Jede partitionierte Nachricht hat eine eindeutige Sequenz-ID, die als Offset bezeichnet wird .

4

Replicas of partition

Replikate sind nichts anderes als Sicherungen einer Partition. Replikate sind niemals Lese- oder Schreibdaten. Sie werden verwendet, um Datenverlust zu verhindern.

5

Brokers

  • Broker sind einfache Systeme, die für die Pflege der veröffentlichten Daten verantwortlich sind. Jeder Broker kann null oder mehr Partitionen pro Thema haben. Angenommen, ein Thema enthält N Partitionen und N Broker. Jeder Broker verfügt über eine Partition.

  • Angenommen, ein Thema enthält N Partitionen und mehr als N Broker (n + m), der erste N Broker hat eine Partition und der nächste M Broker hat keine Partition für dieses bestimmte Thema.

  • Angenommen, ein Thema enthält N Partitionen und weniger als N Broker (nm). Jeder Broker verfügt über eine oder mehrere Partitionsfreigaben. Dieses Szenario wird aufgrund der ungleichen Lastverteilung zwischen den Brokern nicht empfohlen.

6

Kafka Cluster

Kafkas mit mehr als einem Broker werden als Kafka-Cluster bezeichnet. Ein Kafka-Cluster kann ohne Ausfallzeiten erweitert werden. Diese Cluster werden verwendet, um die Persistenz und Replikation von Nachrichtendaten zu verwalten.

7

Producers

Produzenten sind Herausgeber von Nachrichten zu einem oder mehreren Kafka-Themen. Produzenten senden Daten an Kafka-Broker. Jedes Mal, wenn ein Produzent eine Nachricht an einen Broker veröffentlicht, hängt der Broker die Nachricht einfach an die letzte Segmentdatei an. Tatsächlich wird die Nachricht an eine Partition angehängt. Der Produzent kann auch Nachrichten an eine Partition seiner Wahl senden.

8

Consumers

Verbraucher lesen Daten von Maklern. Verbraucher abonnieren ein oder mehrere Themen und konsumieren veröffentlichte Nachrichten, indem sie Daten von den Brokern abrufen.

9

Leader

Leader ist der Knoten, der für alle Lese- und Schreibvorgänge für die angegebene Partition verantwortlich ist. Jede Partition hat einen Server, der als Leader fungiert.

10

Follower

Knoten, die den Anweisungen des Leiters folgen, werden als Follower bezeichnet. Wenn der Anführer ausfällt, wird einer der Anhänger automatisch zum neuen Anführer. Ein Follower fungiert als normaler Verbraucher, ruft Nachrichten ab und aktualisiert seinen eigenen Datenspeicher.