Data Engineering
Wie funktioniert Stream Processing mit Apache Kafka in der Praxis?
Der zentrale Unterschied zwischen Kafka und klassischer Message-Queue-Software liegt darin, dass Kafka Nachrichten nach dem Konsum nicht löscht, sondern als durchsuchbares, wiederholbar lesbares Log vorhält.
Nextise Wissen · · 7 Minuten Lesezeit
Direkte Antwort
Kafka speichert Ereignisse als geordnetes, persistentes Log in sogenannten Topics, wobei Produzenten Ereignisse schreiben, ohne zu wissen, wer sie konsumiert, und Konsumenten Ereignisse in ihrem eigenen Tempo lesen können, auch rückwirkend. Diese Entkopplung erlaubt es, mehrere unabhängige Systeme mit denselben Ereignisdaten zu versorgen, ohne dass Produzent und Konsument direkt miteinander verbunden sein müssen.
Eine klassische Message Queue liefert eine Nachricht einmal aus und vergisst sie dann. Kafka behält das Ereignis, sodass ein neuer Konsument auch Wochen später von vorne lesen kann.
Topics, Partitionen und das Log-Prinzip
Kafka organisiert Ereignisse in Topics, die intern in mehrere Partitionen aufgeteilt sind, um parallele Verarbeitung und horizontale Skalierung zu ermöglichen — jede Partition ist dabei ein geordnetes, unveränderliches Log von Ereignissen.
Diese Partitionierung erlaubt es, sehr hohe Durchsatzraten zu erreichen, weil unterschiedliche Partitionen unabhängig voneinander von verschiedenen Konsumenten-Instanzen parallel verarbeitet werden können.
Entkopplung von Produzenten und Konsumenten
Ein Produzent schreibt Ereignisse in ein Topic, ohne zu wissen oder sich darum zu kümmern, welche und wie viele Konsumenten diese Ereignisse später lesen — mehrere unabhängige Systeme (etwa ein Analytics-System und ein Benachrichtigungsdienst) können dasselbe Ereignis unabhängig voneinander konsumieren.
Diese Entkopplung reduziert die architektonische Komplexität erheblich gegenüber direkten Punkt-zu-Punkt-Integrationen zwischen vielen Systemen, weil jedes System nur mit Kafka statt mit jedem einzelnen anderen System integrieren muss.
Wiederholbare Verarbeitung durch persistentes Log
Weil Kafka Ereignisse für eine konfigurierbare Zeitspanne (oder unbegrenzt) speichert statt sie nach dem Konsum zu löschen, kann ein neuer Konsument, der später hinzukommt, historische Ereignisse von Beginn an erneut verarbeiten.
Diese Eigenschaft ist besonders wertvoll, wenn ein neues System eingeführt wird, das auf denselben historischen Ereignissen aufbauen soll wie bereits bestehende Systeme, ohne dass diese Ereignisse aus einer anderen Quelle erneut beschafft werden müssen.
Wann passt es — wann nicht?
Passt gut, wenn …
- Mehrere unabhängige Systeme sollen auf denselben Ereignisdaten aufbauen, teils auch rückwirkend
Ein anderer Ansatz ist nötig, wenn …
- Es gibt nur eine einzelne, einfache Punkt-zu-Punkt-Kommunikation zwischen zwei Systemen
Wissen allein reicht nicht — wir zeigen, wie es im Betrieb funktioniert.
Unsere Seminare verbinden die Konzepte aus dem Wissen-Hub mit konkreter Praxis. Ihr Team lernt direkt an eigenen Aufgaben — praxisnah, kompakt, sofort anwendbar.
Schulungen entdeckenLassen Sie uns über Ihr nächstes Training sprechen.
Unser Team steht Ihnen rund um die Uhr zur Verfügung und freut sich auf Ihre Anfrage. Einfach anrufen oder eine Nachricht hinterlassen – wir kümmern uns schnellstmöglich um Ihre Anfrage, ob es um eine Schulung, einen Vortrag oder eine Präsentation geht. Jetzt loslegen!

Selina Schmid
Leiterin Kodschul

