kafka性能的优化
消息压缩算法
- 在Kafka中,压缩可能发生在两个地方:生产端和Broker端
- 让Broker重新压缩消息的2中例外情况:Broker端指定和Producer端不同的压缩算法;Broker端发送了消息格式转换(可能为了兼顾老的kafka版本)
- 如果用一句话总结一下压缩和解压缩,那么我希望你记住这句哈:Producer端压缩,Broker端保持,Consumer端解压缩
- 对Kafka而言, 这4种压缩算法的性能测试结果很一致:在吞吐量方面,LZ4>Snappy>zstd和GZIP;在压缩比方面,zstd>LZ4>GZIP>Snappy
zero-copy
Kafka在数据传输的时候,使用了零拷贝技术,这样的技术大大提升了Kafka 的吞吐率。来研究下 Kafka中的零拷贝是如何实现的。
1.Kafka “高吞吐” 之顺序访问与零拷贝
https://cloud.tencent.com/developer/article/1476649
2.kafka通过零拷贝实现高效的数据传输
https://blog.csdn.net/lxlmycsdnfree/article/details/78973864
3.Kafka的零拷贝技术
https://www.jianshu.com/p/835ec2d4c170
4.什么是“零拷贝”技术
https://baijiahao.baidu.com/s?id=1648595456047501430&wfr=spider&for=pc