0%
Kafka为什么速度快,吞吐量大
顺序读写
1 2
| a.Kafka将消息记录持久化到本地磁盘,并且顺序读写 b.磁盘/内存的快慢取决于寻址的方式,磁盘随机读写慢,但是磁盘顺序读写性能高于内存随机读写
|
Page Cache(页高缓)
1 2
| a.使用了操作系统本身的Page Cache,而不是JVM空间内存,避免了Object消耗以及GC问题 b.Kafka的读写操作基本上是基于内存的,读写速度得到了极大的提升
|
Zero Copy(零拷贝)
1 2
| a.同样是操作系统本身机制 b.允许操作系统使用sendFile方法直接将数据Page Cache发送到网络(常规socket网络需要使用用户空间缓存区)
|
分区分段
1 2 3 4 5 6
| a.Kafka的信息记录按topic分类存储 b.topic中的数据按partition存储在不同的broker节点 c.每个partition对应操作系统的一个文件夹 d.partition按segment分段存储 e.每次文件操作也是直接操作segment f.segment又有索引文件.index
|