- 0
- 0
- 约1.64千字
- 约 2页
- 2026-07-10 发布于北京
- 举报
教育-2102期--第06课kafka零拷贝技术详解
所谓的零拷贝是指将数据直接从磁盘文件到网卡设备中,而不需要经由应用程序之手。零拷贝大大提高了应用程
序的性能,减少了内核和用户模式之间的上下文切换。对Linux操作系统而言,零拷贝技术依赖于底层的sendfile()
方法实现。对应于Java语言,FileChannal.transferTo()方法的底层实现就是sendfile()方法。
单纯从概念上理解“零拷贝”比较抽象,这里简单地介绍一下它。考虑这样一种常用的情形:你需要将静态内容(类似
、文件)展示给用户。这个情形就意味着需要先将静态内容从磁盘中出来放到一个内存buf中,然后将这个
buf通过套接字(Socket)传输给用户,进而用户获得静态内容。这看起来再正常不过了,但实际上这是很低效的流
程,我们把上面的这种情形抽象成下面的过程:
n);
len);首先调用read()将静态内容(这里假设为文件A)到tmp_
原创力文档

文档评论(0)