在不增加物理机器的前提下,Kafka Broker 出现网络出入带宽打满的情况,通常意味着网络 I/O 已经成为系统的绝对瓶颈。此时,用 CPU 资源换取网络带宽(即开启或升级压缩算法)是最典型且最有效的破局手段。 以下是通过调整 Producer 压缩算法(重点围绕 LZ4 和 ZSTD)来缓解网络瓶颈的完整实施方案和避坑指南: --- 一、 核心思路:为什么选 LZ4 或 ZSTD? 在 Kafka 支持的压缩算法中(GZIP, Snappy, LZ4, ZSTD): 1. GZIP:压缩率最高,但极度消耗 CPU,吞吐量极差,通常不推荐。 2. Snappy:Google 出品,速度快,但压缩率表现中规中矩。 3. LZ4:极高的压缩和解压速度,CPU 额外开销小,压缩率适中。适合 CPU 资源也相对紧张的场景。 4. ZSTD (Zstandard):Facebook 出品,当前 Kafka 的最佳实践(需 Kafka 2.1.0+)。它提供了类似 GZIP 的高压缩率,同时拥有接近 LZ4 的解压速度。 结论:如果你的 Kafka 版本 >= 2.1.0,首选 ZSTD...