Kafka

Problem

Millionen von Ereignisse kommen kontinuierlich an. Mehrere Verbraucher müssen sie unabhängig voneinander verarbeiten und möglicherweise die gestrigen Ereignisse erneut abspielen. Eine Nachricht, die sofort verschwindet, nachdem ein Verbraucher sie gelesen hat, ist nicht immer wünschenswert.

Lösung — Kafka

Kafka speichert geordnete Datensätze in dauerhaften, partitionierten Logs. Partitionen verteilen Speicherung und Verarbeitung auf mehrere Server. Die Reihenfolge ist innerhalb jeder Partition garantiert; eine gemeinsame Reihenfolge über das gesamte Topic hinaus erfordert zusätzliche Koordination.
Partition:
1 → 2 → 3 → 4 → 5 → ...
      ↑         ↑
Empfänger A   Empfänger B
Verbraucher verfolgen ihre eigene Position.
Kerngedanke: Kafka bietet dauerhafte, skalierbare Ereignisströme, die Verbraucher unabhängig voneinander lesen und wiedergeben können.