midmessaging
Append-only log, sequential I/O, zero-copy, partitioning, batch processing.
Kafka is a distributed streaming platform. Data is stored as an immutable append-only log. Sequential disk writes are faster than random memory access. Zero-copy: data goes directly from the filesystem to the socket (sendfile). Partitions enable parallel processing. Batch compression reduces overhead.
When yes
Event streaming, log aggregation, real-time pipelines, > 100K messages/sec
When no
Simple request-reply, low-volume messaging (overkill), strict ordering across all messages
Interview tip
Kafka is not a queue, it's a distributed log. Consumer groups provide load balancing
Alt:RabbitMQAWS SQS/SNSRedis StreamsPulsar