Kafka 在 CentOS 上的数据压缩设置
一 配置总览与生效机制
| 层级 | 关键配置 | 说明 |
|---|---|---|
| Producer | compression.type | 生产端压缩算法;可选:none/gzip/snappy/lz4/zstd |
| Broker | compression.type | 取值为具体算法时会强制对入站消息重压缩;取值为 producer 时保留生产者压缩格式 |
| Broker | compression.gzip.level | 仅对 gzip 有效,取值 1–9,默认通常为 -1(库默认) |
| Consumer | 无需设置 | 自动解压,保持与生产者一致的序列化器即可 |
二 在 CentOS 上的落地步骤
三 算法选型与性能权衡
| 算法 | 压缩率 | CPU 开销 | 典型场景 |
|---|---|---|---|
| none | 最低 | 极低 | 已压缩/不可再压数据(如图片、视频) |
| gzip | 高 | 高 | 存储成本优先、带宽紧张、离线归档 |
| snappy | 中 | 中 | 通用实时场景,吞吐与延迟均衡 |
| lz4 | 中 | 低 | 高吞吐、低延迟、资源敏感场景 |
| zstd | 高 | 中高 | 新项目优先,压缩率与速度兼顾 |
四 常见陷阱与优化建议