在面试中,Kafka 的高吞吐量设计是高频考点,核心需围绕“架构设计”“存储优化”“网络效率”“资源利用”四个维度展开,以下是结构化总结:
batch.size
积累消息,批量发送(默认 16KB),减少网络请求次数;fetch.min.bytes
批量拉取,降低交互开销。sendfile
系统调用,数据直接从内核缓存传输到 Socket 缓冲区,避免“磁盘→内核→用户空间→Socket”的多次复制,减少 CPU 和内存开销。batch.size
log.segment.bytes
等配置,体现细节掌握。总结:Kafka 高吞吐量的核心是“以空间换时间”“并行化”“减少不必要的开销”,通过架构、存储、网络的协同优化,实现了对磁盘、网络、CPU 资源的高效利用。