顺序写磁盘
Kafka 的 producer 生产数据,要写入到 log 文件中,写的过程是一直追加到文件末端,为顺序写。官网有数据表明,同样的磁盘,顺序写能到600M/s,而随机写只有 100K/s。这与磁盘的机械机构有关,顺序写之所以快,是因为其省去了大量磁头寻址的时间。
零复制技术
常规操作文件方式为系统底层操作,流程为:
File - PageCache - Application Cache - Socket Cache - NIC
而此流程跨越内核空间和用户空间,比较慢。
零复制技术不经过用户空间:
File - PageCache - NIC