BeginnerCore Concepts
How does Kafka differ from a traditional message queue?
Reference answer
The main difference is what happens to an event after it is read. Kafka stores events in a partitioned, replicated log and does not delete them when they are consumed: consumers can read a topic's events as often as needed, and retention is configured per topic (by time or size). A consumer tracks its position as an offset per partition and can deliberately rewind to an old offset and re-consume data, for example after fixing a bug (replay). Consumers pull data from the brokers instead of having it pushed, so a slow consumer simply falls behind and catches up when it can. Topics are multi-producer and multi-subscriber, and are split into partitions: events with the same key go to the same partition and are read in the order they were written, and within a consumer group each partition is consumed by one consumer at a time. A common use of this retained, replayable log is event sourcing and audit trails.
Expected key concepts: log, retention, replay, offset, rewind, pull, partitions, consumer group, multi-subscriber, event sourcing
How did that feel?
Your own verdict, not the score. It shows up next to this question in the list, so you can come back to the shaky ones.