rdkafka vs kafka_client · 2026-07-08 07:00:37
| 消息大小 | rdkafka | kafka_client | 提升幅度 |
|---|---|---|---|
| 10B | 653.82 K/s | 630.73 K/s | -3.5% |
| 1KB | 47.81 K/s | 226.77 K/s | +374.3% |
| 10KB | 4.90 K/s | 36.24 K/s | +639.8% |
| 消息大小 | rdkafka | kafka_client | 提升幅度 |
|---|---|---|---|
| 10B | 2.74 M/s | 7.01 M/s | +155.9% |
| 1KB | 1.19 M/s | 1.78 M/s | +50.3% |
| 10KB | 199.51 K/s | 292.56 K/s | +46.6% |
| 消息大小 | rdkafka | kafka_client | 提升幅度 |
|---|---|---|---|
| 10B | 36.59 K/s | 49.53 K/s | +35.4% |
| 1KB | 3.75 K/s | 4.97 K/s | +32.8% |
| 10KB | 376 /s | 498 /s | +32.6% |
Assign 模式比 Group 模式快几十到几百倍,主要因为 Group 模式包含 rebalance、心跳、offset 提交等额外开销。
随着消息体积增大,Group 模式的固定开销占比更高,导致性能差距被放大。
对延迟敏感且不需要消费组语义的场景,优先使用 Assign 模式可获得数量级的性能提升。
生产者平均提升 336.9%,消费者 Assign 平均提升 84.3%,Group 平均提升 33.6%。
消息越小,kafka_client 的优化效果越显著。大消息场景瓶颈在网络 IO。
如无消费组语义需求,Assign 模式可带来数量级的性能提升。
kafka_client 在生产端和消费端均有性能优势,全链路使用收益最大。