Kafka

Problem

Millions of events arrive continuously. Multiple consumers need to process them independently, possibly replaying yesterday's events again. A message disappearing immediately after one consumer reads it isn't always desirable.

Solution — Kafka

Kafka stores ordered records in durable partitioned logs. Partitions allow storage and processing to be spread across servers. Ordering is guaranteed within each partition, rather than across the entire topic.
Partition:
1 → 2 → 3 → 4 → 5 → ...
      ↑         ↑
 Consumer A  Consumer B
Consumers track their own position.
Core idea: Kafka provides durable, scalable event streams that consumers can independently read and replay.