Erlernen von Apache Kafka
Apache Kafka ist eine verteilte Streaming-Plattform, die von vielen Unternehmen für zahlreiche Batch-Workloads sowie für Anwendungsfälle für Echtzeitdatenintegration und Datenstreaming verwendet wird.

Die folgende Liste enthält einige Apache Kafka-Konzepte:
Broker
Apache Kafka ist ein verteiltes Nachrichtensystem (Messaging-System). Ein Kafka-Cluster besteht aus einer Gruppe von Brokern. Ein Cluster verfügt über mindestens drei Broker.
Diagramm für

Nachrichten
Eine Nachricht ist eine Dateneinheit in Kafka. Jede Nachricht wird als Datensatz dargestellt, der aus zwei Teilen besteht: Schlüssel und Wert. Der Schlüssel wird in der Regel für Daten zur Nachricht verwendet und der Wert ist der Nachrichtentext. Kafka verwendet die Begriffe "Datensatz" und "Nachricht" synonym.
Topics und Partitionen
Jedes Topic ist ein benannter Strom von Nachrichten. Ein Topic besteht aus einer oder mehreren Partitionen. Die Nachrichten in einer Partition werden nach einer Nummer sortiert, die als Offset bezeichnet wird. Mit mehreren Partitionen, die über die Broker verteilt sind, wird die Skalierbarkeit eines Themas erhöht.
Wenn ein Topic mehr als eine Partition aufweist, können Daten parallel eingesendet werden, um den Durchsatz zu erhöhen, indem die Partitionen im Cluster verteilt werden. Die Anzahl der Partitionen beeinflusst auch den Lastausgleich zwischen den Consumern.
Weitere Informationen finden Sie in Partitions-Leadership.

Replikation
Zur Verbesserung der Verfügbarkeit kann jedes Topic auf mehrere Broker repliziert werden. Für jede Partition ist einer der Broker der Leader, während die anderen Broker die Follower sind.
Die Replikation funktioniert in der Weise, dass die Follower wiederholt Nachrichten vom Leader abrufen.

Synchrone Replikate
Ein Follower-Replikat, das auf dem Stand des Partitionsleaders ist, ist synchron. Jeder Follower mit einem synchronen Replikat kann zum Leader werden, ohne dass Nachrichten verloren gehen.
Wenn der Partitionsleader ausfällt, wird ein anderer Leader unter den Followern ausgewählt. Alle Replikate müssen normalerweise synchron sein. Es ist akzeptabel, dass ein Replikat vorübergehend nicht synchron ist, während es nach einem Ausfall aufholt.

Erzeuger
Ein Producer ist eine Clientanwendung, die Nachrichten in einem oder mehreren Topics veröffentlicht. Ein Producer kann Datenströme in einem oder mehreren Topics veröffentlichen und optional die Partition auswählen, in denen die Daten gespeichert werden.
Sie können Ihren Producer auch so konfigurieren, dass er der Geschwindigkeit oder der Zuverlässigkeit Vorrang einräumt, indem Sie den Grad der Bestätigung wählen, den der Producer für die von ihm veröffentlichten Nachrichten erhält.
Weitere Informationen finden Sie unter Nachrichten erstellen.

Konsumenten
Ein Konsument ist eine Clientanwendung, die Nachrichten aus einem oder mehreren Topics liest und verarbeitet. Der Unterschied zwischen der aktuellen Position eines Consumers und der neuesten Nachricht in einer Partition wird als Offsetverzögerung bezeichnet.
Wenn die Verzögerung mit der Zeit größer wird, ist dies ein Hinweis darauf, dass der Consumer nicht in der Lage ist, Schritt zu halten. Kurzfristig ist dies kein Problem, aber schließlich kann der Konsument Nachrichten verpassen, wenn der Aufbewahrungszeitraum überschritten wird.
Weitere Informationen finden Sie unter Nachrichten verarbeiten.

Konsumentengruppen
Eine Konsumentengruppe enthält einen oder mehrere Konsumenten, die zusammenarbeiten, um die Nachrichten eines Themas zu verarbeiten. Die Nachrichten aus einer einzelnen Partition werden durch jeweils einen Consumer in jeder Gruppe verarbeitet.
Zu jedem Zeitpunkt ist jede Partition nur einem Consumer in der Gruppe zugeordnet. Diese Zuordnung stellt sicher, dass die Nachrichten auf jeder Partition in der richtigen Reihenfolge verarbeitet werden.
Wenn in einer Gruppe mehr Partitionen als Konsumenten vorhanden sind, haben einige Konsumenten mehrere Partitionen. Wenn mehr Konsumenten als Partitionen vorhanden sind, haben einige Konsumenten keine Partitionen.

Weitere Informationen
Weitere Informationen finden Sie in der Dokumentation zuApache Kafka.