Internally, Kafka stores data as an append-only log on disk (organized in segments), uses efficient I/O techniques, and manages cluster metadata via ZooKeeper (historically) or KRaft (now). Understanding the internals deepens understanding of Kafka's behavior and performance.
The commit log storage
Each partition is an append-only LOG stored on disk, split into SEGMENTS (files):
→ new events are APPENDED to the end (sequential writes → fast)
→ events are immutable once written; identified by OFFSET
→ old segments are deleted (retention) or compacted
→ an INDEX maps offsets to file positions (fast lookups)
→ the append-only log is the core of Kafka's design (durable, sequential, efficient)
