Kafka的高效传输-----零拷贝(Zero Copy)

2019-06-16  本文已影响0人  谁说咖啡不苦

kafka使用的零拷贝底层是使用了一个叫DMA(Direct Memory Access)的技术来实现的。传统上,我们的一个一般是有如下几个步骤:

普通模式

而使用了零拷贝之后,省去了和用户态的复制数据交互,省去了两个过程。


Zero Copy

关于DMA技术

DMA是指外部设备不通过CPU而直接与系统内存交换数据的接口技术。要把外设的数据读入内存或把内存的数据传送到外设,一般都要通过CPU控制完成,如CPU程序查询或中断方式。利用中断进行数据传送,可以大大提高CPU的利用率。 但是采用中断传送有它的缺点,对于一个高速I/O设备,以及批量交换数据的情况,只能采用DMA方式,才能解决效率和速度问题。DMA在外设与内存间直接进行数据交换,而不通过CPU,这样数据传送的速度就取决于存储器和外设的工作速度。

上一篇 下一篇

猜你喜欢

热点阅读