
Was ist ein Kafka-Topic? Einfach erklärt + Beispiel
Stellen Sie sich einen digitalen Briefkasten vor, in den ununterbrochen Nachrichten flattern – und aus dem verschiedene Empfänger genau die Briefe herausnehmen, die sie brauchen. Apache Kafka macht genau das möglich, und das zentrale Organisationsmittel dafür heißt Kafka-Topic – dieser Artikel erklärt Ihnen, was ein Topic ist, wie es sich von einer klassischen Warteschlange unterscheidet und warum es der Schlüssel zu skalierbarem Echtzeit-Datenstreaming ist.
Ursprung: Entwickelt von LinkedIn, Open-Source seit 2011 ·
Datenformat: Unveränderliche Protokolle von Ereignissen (Events) ·
Organisationseinheit: Topic als Kategorie, ähnlich einem Ordner ·
Standard-Teilungsfaktor: Partitionen ermöglichen Parallelverarbeitung ·
Hauptnutzung: Echtzeit-Datenstreaming und Ereignisprotokollierung
Kurzüberblick
- Ein Kafka-Topic ist eine benannte Kategorie für Ereignisse (Soutier (Fachblog für Datenarchitektur))
- Kafka ist eine verteilte Event-Streaming-Plattform (Coding Anni (Technologie-Blog))
- Die genaue Auswirkung der Partitionenanzahl auf die Leistung ist konfigurationsabhängig.
- Optionale Topic-Namenskonventionen variieren je nach Team.
- 2011: Open-Source-Veröffentlichung durch LinkedIn (Soutier (Fachblog für Datenarchitektur))
- Kafka Topics bleiben zentral für Echtzeit-Datenströme und Ereignisquellen. (Konfluent Entwicklerportal (Kafka-Ökosystem-Partner))
- Neue Features wie Tiered Storage erweitern die Nutzung (Ankündigung auf Konfluent Entwicklerportal (Kafka-Ökosystem-Partner))
Vier zentrale Fakten auf einen Blick – sie zeigen, wie Apache Kafka Daten organisiert und warum das Topic dabei das Fundament bildet.
| Eigenschaft | Wert |
|---|---|
| Erstveröffentlichung | 2011 |
| Entwickler | Apache Software Foundation |
| Datenorganisation | Topics, Partitionen, Protokolle |
| Schlüsseleigenschaft | Unveränderliche Ereignisanfügung |
Was ist Kafka in einfachen Worten?
Definition und Ursprung von Apache Kafka
- Apache Kafka ist eine verteilte Event-Streaming-Plattform – sie erfasst, speichert und verarbeitet Datenströme in Echtzeit (Coding Anni (Technologie-Blog)).
- Entwickelt wurde Kafka ursprünglich bei LinkedIn, um die riesigen Datenmengen des Netzwerks zu bewältigen. Seit 2011 ist es ein Open-Source-Projekt der Apache Software Foundation (Soutier (Fachblog für Datenarchitektur)).
Vergleich: Kafka vs. traditionelle Nachrichtenwarteschlangen
- In einer klassischen Warteschlange (z. B. RabbitMQ) wird eine Nachricht nach dem Lesen gelöscht. Ein Kafka-Topic hingegen speichert alle Nachrichten als append-only Log – sie bleiben so lange erhalten, wie die Aufbewahrungsfrist es erlaubt (Soutier (Fachblog für Datenarchitektur)).
- Dadurch können mehrere Verbrauchergruppen ein Topic unabhängig voneinander abonnieren und jeder Leser erhält alle Nachrichten ab dem von ihm gewählten Offset – möglich gemacht durch Partitionen (Tirsus (Kafka-Fachportal)).
Der entscheidende Unterschied: Eine Warteschlange ist ein Punkt-zu-Punkt-Kanal, ein Kafka-Topic ist ein publish-subscribe-System mit dauerhafter Speicherung. Das ermöglicht Entkopplung und Wiederverwendbarkeit von Datenströmen.
Für ein Unternehmen, das Bestellungen, Klicks und Sensorwerte parallel verarbeitet, entfällt der Aufwand, Daten mehrfach zu duplizieren. Ein einziges Topic versorgt alle nachgelagerten Systeme – Analysen, Dashboards, Archive – ohne dass die Quelle mehrfach angefragt werden muss.
Die Implikation: Unternehmen sparen Duplizierungsaufwand und erhalten eine zentrale Datenquelle für alle nachgelagerten Dienste.
Was ist ein Kafka-Topic?
Definition eines Kafka-Topics
- Ein Kafka-Topic ist eine benannte Kategorie oder ein Datenstrom, in den Producer Nachrichten schreiben und aus dem Consumer lesen (Soutier (Fachblog für Datenarchitektur)).
- Es funktioniert wie ein Ordner in einem Dateisystem: Der Ordner heißt „Bestellungen“ oder „Benutzeraktionen“, und alle zugehörigen Ereignisse werden dort abgelegt – in der Reihenfolge ihres Eintreffens (Apache Kafka Dokumentation (offizielle Projektdokumentation)).
Wie Topics Ereignisse organisieren
- Jedes Topic besteht aus einer oder mehreren Partitionen. Eine Partition ist ein geordnetes, unveränderliches Protokoll von Nachrichten, die fortlaufend nummeriert werden (Offset) (Tirsus (Kafka-Fachportal)).
- Der Offset gilt pro Partition, nicht global – so können mehrere Partitionen parallel beschrieben und gelesen werden, ohne dass eine zentrale Koordination nötig ist (Soutier (Fachblog für Datenarchitektur)).
Was das bedeutet: Ein Topic ist kein einmaliger Nachrichtenbehälter, sondern ein lebendes Protokoll. Neue Ereignisse werden immer am Ende angehängt, bestehende nie verändert. Diese Unveränderlichkeit ist der Grund, warum Kafka als „Commit-Log“ bezeichnet wird – und warum Consumer jederzeit zu einem früheren Offset zurückkehren können.
Die Anzahl der Partitionen wird bei der Erstellung eines Topics festgelegt und kann später nur mit erheblichem Aufwand geändert werden. Ein Team, das zu wenige Partitionen wählt, riskiert eine schlechte Parallelisierung – zu viele Partitionen erhöhen den Verwaltungsaufwand im