Ein Event Stream ist ein geordneter, persistenter Datenstrom von Ereignissen. Anders als bei einer Message Queue werden Ereignisse nicht nach der Zustellung verworfen, sondern als append-only Log aufbewahrt — neue Konsumenten können den Strom von Beginn an lesen (Replay).

Eigenschaften eines Event Streams

  • Persistenz: Ereignisse werden dauerhaft gespeichert, nicht nach Konsum gelöscht.
  • Ordnung: Innerhalb einer Partition bleibt die Reihenfolge der Ereignisse erhalten.
  • Replay: Jeder Konsument liest den Strom mit eigenem Offset und kann jederzeit von vorn beginnen.
  • Fan-out: Beliebig viele unabhängige Konsumentengruppen lesen denselben Strom.

Beispiele und Einordnung

Apache Kafka (über seine Log-basierte Architektur) und Kinesis sind typische Event-Stream-Systeme — siehe auch Kafka-Befehle. Der Unterschied zum Event Bus: Ein Bus verteilt Ereignisse an Abonnenten, ohne sie dauerhaft zu speichern; ein Stream ist selbst das Speichermedium. Change Data Capture erzeugt Event Streams aus Datenbankänderungen, und Event Sourcing macht den Ereignisstrom zur Quelle der Wahrheit eines Systems.

Typische Anwendungen

  • Echtzeit-Analysen und Metriken
  • Replikation zwischen Systemen
  • Wiederherstellung von Zuständen durch Replay (Event Sourcing)

Verwandte Grundlagen: Message Broker, Eventual Consistency.