原文网址:Kafka原理--为什么吞吐量大、速度快?_IT利刃出鞘的博客-CSDN博客
简介
本文介绍Kafka是如何能够支撑高并发的。也就是:Kafka为什么吞吐量大、速度快。
Kafka是分布式消息系统,一般用于处理海量的消息。Kafka高性能、高吞吐量、低延时。
Kafka的设计是把所有的消息都写入速度低容量大的硬盘,以此来换取更强大的存储能力,但实际上,使用硬盘并没有带来过多的性能损失。相反,Kafka性能高、速度快。
kafka主要使用了以下几种方式实现了超高的吞吐量:
- 数据压缩
- 批量传输
- 并行
- Page Cache
- 零拷贝
- 顺序读写硬盘
1.数据压缩
简介
Producer 可将数据压缩后发送给 broker,从而减少网络传输代价。
详解
- Kafka使用了批量压缩,即将多个消息一起压缩而不是单个消息压缩。(如果每个消息都压缩,压缩率相对较低。)
- Kafka允许使用递归的消息集合,批量的消息可通过压缩的形式传输并且在日志中也可保持压缩格式,直到被消费者解压缩
- Kafka支持多种压缩协议,包括Gzip、Snappy、LZ4
2.批量传输
简介
在向Kafka发送数据时,可以启用批次发送,这样可以避免在网络上频繁传输单个消息带来的延迟和带宽开销。假设网络带宽为10MB/S,一次性传输10MB的消息比传输1KB的消息10000万次显然要快得多。
上边只是部分内容,为便于维护,本文已迁移到此地址:Kafka为什么吞吐量大、速度快? - 自学精灵