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 den Echtzeit-Transport von Daten zwischen Systemen – das Rückgrat moderner ML-Pipelines, Feature Stores und Event-Driven Architectures.
Apache Kafka ist eine verteilte Streaming-Plattform, die Daten in Echtzeit zwischen Systemen transportiert. Entwickelt bei LinkedIn (2011), heute eines der meistgenutzten Open-Source-Projekte für Dateninfrastruktur.
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 |
|---|---|
| Echtzeit-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 | Komplexität |
| RabbitMQ | Einfachheit, Routing | Kein Replay |
| Redis Streams | Latenz | Weniger persistent |
| Redpanda | Kafka-kompatibel, einfacher | Jüngeres Ökosystem |
| AWS Kinesis | Managed, AWS-Integration | Vendor Lock-in |
Kafka ist wie ein riesiges Förderband in einer Fabrik: Daten werden am einen Ende aufgelegt und an beliebig vielen Stationen abgegriffen – zuverlässig, in der richtigen Reihenfolge und ohne dass etwas verloren geht.
Verarbeitet Millionen Events pro Sekunde mit niedrigen Latenzen
Persistente, unveränderliche Event-Logs für Replay und Audit
Zentrales Rückgrat für Echtzeit-ML-Pipelines und Feature-Engineering
Echtzeit-Feature-Engineering
Features für ML-Modelle in Echtzeit 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 du hohen Durchsatz, persistente Logs, Replay-Fähigkeit oder mehrere unabhängige Consumer für dieselben Daten brauchst. Für einfache Job-Queues reicht RabbitMQ oder Redis.
Ja, Self-Hosted Kafka ist komplex (ZooKeeper, Partitionen, Replication). Managed Services wie Confluent Cloud, AWS MSK oder Redpanda vereinfachen den Betrieb erheblich.
Für Echtzeit-Feature-Pipelines, Streaming-Inferenz, Model-Monitoring (Drift-Detection auf Live-Daten) und als Event Source für Training-Daten-Pipelines.