发布于

为什么卡夫卡速度快?

作者

"有许多设计决策对 Kafka 的性能做出了贡献。在这篇文章中,我们将重点关注两个。我们认为这两者最有分量。

1️.第一个是 Kafka 对顺序 I/O 的依赖。

2️.赋予 Kafka 性能优势的第二个设计选择是它对效率的关注:零复制原则。

下图说明了数据如何在生产者和消费者之间传输,以及零拷贝的含义。

🔹步骤1.1 - 1.3:Producer将数据写入磁盘

🔹第2步:Consumer无需零拷贝读取数据

2.1:数据从磁盘加载到OS缓存

2.2 数据从OS缓存复制到Kafka应用程序

2.3 Kafka应用程序将数据复制到socket缓冲区

2.4 将数据从socket buffer复制到网卡

2.5 网卡将数据发送给消费者

🔹第3步:消费者零拷贝读取数据

3.1:数据从磁盘加载到OS缓存

3.2 OS缓存通过sendfile()命令直接将数据复制到网卡

3.3 网卡将数据发送给消费者

零拷贝是在应用程序上下文和内核上下文之间保存多个数据副本的快捷方式。 "

为什么卡夫卡速度快?

作者

Ai Base Network (ABN), ABN ASIA由具有深厚学术背景的人员创立,他们在美国、荷兰、匈牙利、日本、韩国、新加坡和越南等国家有工作经验。ABN Asia是学术界和技术相遇的地方。凭借我们领先的解决方案和优秀的软件开发服务,我们帮助企业提升水平,走向全球舞台。我们的承诺:更快。更好。更可靠。在大多数情况下:也更便宜。

无论您需要IT服务、数字咨询、现成软件解决方案,还是想向我们发送招标要求(RFPs),都请随时与我们联系。您可以通过[email protected]与我们联系。我们随时准备为您提供所有技术需求的帮助。

ABNAsia.org

© ABN ASIA