Batching (grouping messages) and compression (compressing data) are key techniques for high Kafka throughput — reducing per-message overhead and network/storage costs. Understanding them helps achieve Kafka's high performance.
Batching — group messages
BATCHING → the producer groups multiple messages into a single BATCH before sending:
→ fewer, larger requests instead of many tiny ones → much higher THROUGHPUT (less
per-request overhead, fewer network round-trips)
→ controlled by: batch.size (batch size limit) + linger.ms (wait time to accumulate a batch)
→ trade-off: slightly higher LATENCY (waiting to batch) for much higher throughput
→ batching is essential for high-throughput producing
