Kafka 的高吞吐依赖分区并行、批量发送与消息压缩三大机制协同。
一、分区并行
每个分区是独立的有序日志,生产者可并行写入多个分区。分区数决定了最大并行度,但过多分区会增加元数据开销与 Rebalance 时间。
二、批量与压缩配置
properties
batch.size=16384
linger.ms=5
compression.type=lz4
acks=allbatch.size:单批次最大字节数linger.ms:等待更多消息以凑批的时间compression.type:推荐 lz4(高吞吐)或 zstd(高压缩比)acks=all:保证所有 ISR 副本确认,兼顾可靠性
增大批量与引入少量延迟可显著提升吞吐,需根据业务对延迟的敏感度权衡 linger.ms。