Sofortantwort
Apache Kafka einfach erklärt
Verteilte Streaming-Plattform für zeitnahe Datenverarbeitung.
- Kurz gesagt
- Kann sehr hohe Event-Durchsätze mit niedriger Latenz ermöglichen
- Typischer Einsatz
- Echtzeit-Feature-Engineering, Model Serving Pipeline, Data Integration
- Wichtig zu wissen
- Wichtiger Baustein für Streaming-ML-Pipelines und Feature-Engineering
Apache Kafka im Überblick
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:
- Topic: Ein benannter Datenstrom (z. B. „user-clicks”, „model-predictions”)
- Producer: Schreibt Events in Topics
- Consumer: Liest Events aus Topics
- Partition: Topics werden aufgeteilt für Parallelität
- Consumer Group: Mehrere Consumer teilen sich die Last
Producer A ──▶ ┌─────────────────┐ ──▶ Consumer 1 (ML-Modell)
Producer B ──▶ │ Topic: events │ ──▶ Consumer 2 (Dashboard)
Producer C ──▶ │ (3 Partitions) │ ──▶ Consumer 3 (Data Lake)
└─────────────────┘
Kafka in ML-Architekturen
| 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 |
Alternativen
| 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 |