在使用kafka时,我们经常会想,为什么kafka能够达到如此巨大的数据吞吐量?这与kafka的很多设计哲学是分不开的,比如分区并行、ISR机制、顺序写入、页缓存、高效序列化、零拷贝等等,由于kafka的消息存储涉及到海量数据读写,所以利用零拷贝能够显著的降低延迟,提高效率。(linux内核中的函数sendfile()就是零拷贝)
(1)零拷贝的原理
在使用kafka时,我们经常会想,为什么kafka能够达到如此巨大的数据吞吐量?这与kafka的很多设计哲学是分不开的,比如分区并行、ISR机制、顺序写入、页缓存、高效序列化、零拷贝等等,由于kafka的消息存储涉及到海量数据读写,所以利用零拷贝能够显著的降低延迟,提高效率。(linux内核中的函数sendfile()就是零拷贝)
(1)零拷贝的原理