バッチング(メッセージのグループ化)と圧縮(データの圧縮)は、Kafkaの高いスループットを実現するための重要なテクニックであり、メッセージごとのオーバーヘッドとネットワーク/ストレージのコストを削減します。これらを理解することで、Kafkaの高性能を実現できます。
バッチング — メッセージをグループ化
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
