数据压缩可以减少网络 IO 传输量,减少磁盘存储空间。本文档为您介绍推荐的压缩算法。
在 2.* 版本之后的 Kafka 实例 ,支持 ZSTD 压缩格式,它的压缩比、压缩效率、CPU 占用表现都是比较优秀的。所以我们强烈建议您使用 ZSTD 格式的压缩。
目前 Kafka 支持四种压缩算法: ZSTD、GZIP、Snappy、LZ4。
评估一个压缩算法的优劣,主要有两个指标:压缩比、压缩/解压缩吞吐量。在 Kafka 的实际使用中,四种算法的性能指标对比如下:
因此,正常情况下四种压缩算法的推荐排序为: ZSTD > LZ4 > GZIP > Snappy。
经过长时间的运行观察,以上压缩算法推荐顺序适用于大部分场景。但是因为业务的数据内容不一样,会导致压缩算法的性能表现不一样。 故建议对 CPU 指标敏感的用户优先采用 ZSTD,然后根据实际表现调整压缩算法