欢迎访问 内存溢出 —— 独立后端与系统工程技术博客

专注于分布式系统、Linux内核、数据库存储与后端工程实践

Kafka 高性能写入:分区、批量与压缩策略

发表于:|最后更新:|分类:大数据与流计算|阅读:3214 次

Kafka 的高吞吐依赖分区并行、批量发送与消息压缩三大机制协同。

一、分区并行

每个分区是独立的有序日志,生产者可并行写入多个分区。分区数决定了最大并行度,但过多分区会增加元数据开销与 Rebalance 时间。

二、批量与压缩配置

properties
batch.size=16384
linger.ms=5
compression.type=lz4
acks=all
  • batch.size:单批次最大字节数
  • linger.ms:等待更多消息以凑批的时间
  • compression.type:推荐 lz4(高吞吐)或 zstd(高压缩比)
  • acks=all:保证所有 ISR 副本确认,兼顾可靠性

增大批量与引入少量延迟可显著提升吞吐,需根据业务对延迟的敏感度权衡 linger.ms。