首页 笔记 图片 查字 
所属分类:Kafka
浏览:33
内容:

kafka吞吐量为什么高?顺序读写磁盘,page cache,令拷贝,分区分段
1. 顺序读写磁盘:
计算机磁盘分为顺序读写与随机读写,内存也一样,磁盘的顺序读写性能高于随机读写性能,所以kafka读写磁盘很快。
2. page cache:
Kafka使用了操作系统的Page Cache,就是利用操作系统自身的内存而不是JVM空间内存。
3. 零拷贝:
零拷贝是指Kafka利用了操作系统的 "zero-copy" 机制在消费端做的优化,将数据直接从page cache拷贝到socket buffer。
4. 分区分段:
Kafka消息是按topic分类存储的,topic又被划分成多个partition,存储到不同broker节点。每个partition对应了操作系统上的一个文件夹,同时按照segment分段存储和构建分段索引。非常符合分布式系统分区分桶的设计思想。