Kafka是大型架构核心,下面我详解Kafka核心技术@mikechen
Kafka核心技术
在所有高性能中间件中,Kafka 一直以超高吞吐量著称。

很多人认为 Kafka 快,是因为:
顺序写磁盘;
零拷贝(Zero Copy);
批量发送(Batch);
其实,这三个技术背后,还有一个真正的核心:
Page Cache(页缓存)
可以说:没有 Page Cache,就没有 Kafka 的百万级吞吐。
什么是 Page Cache
Page Cache 是操作系统为磁盘文件提供的一层缓存机制。
应用程序对文件的读写,并不一定直接与磁盘交互,而是先通过内核缓冲区进行。

对于写操作,数据通常先写入 Page Cache,再由内核异步刷盘。
对于读操作,操作系统会优先从 Page Cache 中查找数据,如果命中,则无需访问磁盘。
这种机制的核心价值在于:将频繁访问的数据保留在内存中,减少昂贵的磁盘访问。
由于内存的读写速度远高于机械磁盘甚至 SSD,因此 Page Cache 能显著降低 I/O 延迟,提高整体系统吞吐。
Page Cache性能提升
Page Cache 对 Kafka 的性能提升,主要体现在以下几点:

1. 降低磁盘访问频率
磁盘 I/O: 是系统性能瓶颈之一。
Page Cache 将大量读写操作拦截在内存层面,减少了对磁盘的直接访问次数。
对于高并发消息场景,这种优化效果极其明显。
2. 利用顺序读写优势
Kafka 日志是顺序追加的,Page Cache 与顺序访问模式天然契合。
顺序写入可以减少磁盘寻道开销,顺序读取也能提高预取命中率,从而进一步放大性能优势。
3. 提升批处理效率
Kafka 本身支持批量发送和批量拉取,配合 Page Cache 后。
内核可以将多个小写操作合并为更高效的块写入,减少系统调用和磁盘同步开销。