Message Queue
Ein Kommunikationsmuster, bei dem Nachrichten in einer Warteschlange zwischengespeichert werden – ermöglicht asynchrone, entkoppelte Kommunikation zwischen Services.
Eine verteilte Streaming-Plattform für zeitnahe Datenströme zwischen Systemen – häufig genutzt in ML-Pipelines, Feature Stores und Event-Driven Architectures.
Apache Kafka ist eine verteilte Streaming-Plattform, die Datenströme zeitnah zwischen Systemen transportiert. Sie wird breit in Dateninfrastruktur, Event-Driven Architectures und Streaming-Analytics eingesetzt.
Kernkonzepte:
Producer A ──▶ ┌─────────────────┐ ──▶ Consumer 1 (ML-Modell)
Producer B ──▶ │ Topic: events │ ──▶ Consumer 2 (Dashboard)
Producer C ──▶ │ (3 Partitions) │ ──▶ Consumer 3 (Data Lake)
└─────────────────┘
| Use Case | Pattern |
|---|---|
| Zeitnahe Inferenz | Request → Kafka → Model Service → Kafka → Response |
| Feature Store | Raw Events → Kafka → Feature Computation → Store |
| Monitoring | Predictions → Kafka → Drift Detection → Alert |
| Retraining | Kafka Topics als Training-Data-Source |
| Tool | Stärke | Schwäche |
|---|---|---|
| Kafka | Durchsatz, Persistenz, Ökosystem | Betriebsaufwand |
| RabbitMQ | Routing, Job-Queues, Einfachheit | weniger Fokus auf Replay-Logs |
| Redis Streams | niedrige Latenz und einfache Integration | andere Persistenz- und Skalierungsprofile |
| Kafka-kompatible Alternativen | ähnliche APIs, oft vereinfachter Betrieb | Ökosystem und Feature-Abdeckung prüfen |
| Managed Streams | Betrieb ausgelagert | Anbieterbindung und Kostenmodell prüfen |
Kafka ist wie ein Förderband in einer Fabrik: Daten werden am einen Ende aufgelegt und von mehreren Stationen abgegriffen – mit Persistenz, Reihenfolge innerhalb von Partitionen und kontrollierter Verarbeitung.
Kann sehr hohe Event-Durchsätze mit niedriger Latenz ermöglichen
Persistente Event-Logs für Replay, Integration und Audit-Szenarien
Wichtiger Baustein für Streaming-ML-Pipelines und Feature-Engineering
Echtzeit-Feature-Engineering
Features für ML-Modelle zeitnah aus Streaming-Daten berechnen
Model Serving Pipeline
Inferenz-Anfragen über Kafka verteilen und Ergebnisse asynchron zurückliefern
Data Integration
Daten aus verschiedenen Quellen (Datenbanken, APIs, IoT) in einem zentralen Stream bündeln
Wenn hoher Durchsatz, persistente Logs, Replay-Fähigkeit oder mehrere unabhängige Consumer für dieselben Daten wichtig sind. Für einfache Job-Queues können leichtere Message-Queues oft ausreichen.
Self-Hosted Kafka kann komplex sein, etwa wegen Partitionierung, Replikation, Skalierung und Betrieb. Managed Services oder Kafka-kompatible Alternativen können den Betrieb vereinfachen, bringen aber eigene Abhängigkeiten mit.
Für zeitnahe Feature-Pipelines, Streaming-Inferenz, Model-Monitoring und als Event-Quelle für Trainingsdaten- oder Analyse-Pipelines.