什么让 Apache Kafka 如此快速?
Kafka 支持高吞吐量、什让高度分布式、快速容错性强的什让平台 ,能够以低延迟传递消息。快速
有几种技术使 Apache Kafka 如此快速 :
低延迟消息传递批量数据和压缩水平扩展
低延迟消息传递
大多数传统的什让数据系统使用随机存取内存(RAM)进行数据存储,因为RAM提供了极低的快速延迟。让我们看看使用RAM的什让优缺点。
优点: 这种方法使它们变得非常快速 。快速缺点 : RAM的什让成本远高于磁盘 ,特别是快速当系统中有数百GBPS的数据流时 。高防服务器Kafka 避免了随机存取内存 ,什让它通过顺序I/O和零拷贝原理实现低延迟消息传递。快速
顺序I/O:Kafka 在存储和缓存消息时大量依赖文件系统 。什让有一种普遍的快速看法是“磁盘很慢”,这意味着高寻址时间。什让想象一下,如果我们可以避免寻址时间,我们可以实现与RAM一样低的延迟。Kafka 通过顺序I/O来实现这一点。
Kafka 的基本概念是日志(log);这是一种仅附加、源码下载完全有序的数据结构 。
下面是一个演示日志流(队列)的图示,生产者以不可变和单调的方式在日志流的末尾追加,而订阅者/消费者可以维护自己的指针以指示当前消息的处理。

来源:https://kafka.apache.org/intro.html
每当生产者发布一条消息时,它都会收到包含记录偏移量的确认。第一条发布到分区的记录的建站模板偏移量为0 ,第二条为1 ,以此类推 ,以递增的顺序。消费者从由偏移量指定的位置消费数据 ,然后定期将其位置保存在日志中以进行提交。保存偏移量的目的是让另一个消费者在消费者实例崩溃时可以从其位置恢复 。
零拷贝原理:当我们从内存中提取数据并将其发送到网络时会发生什么。
从内存中提取数据 ,它会将数据从内核上下文复制到应用程序上下文将这些数据发送到互联网,它会将数据从应用程序上下文复制到内核上下文。源码库
图像概念来自:https://developer.ibm.com/articles/j-zerocopy/
正如您所看到的,将数据在内核上下文和应用程序上下文之间进行复制是多余的 ,这会消耗CPU周期和内存带宽,尤其是在数据量很大时会导致性能下降 。这正是零拷贝原则要解决的问题 。

图像概念来自:https://developer.ibm.com/articles/j-zerocopy/
批量数据和压缩
高效的压缩需要将多个消息一起压缩 ,而不是分别压缩每个消息 。
Kafka 支持这一点 ,云计算允许递归消息集。一批消息可以被聚合在一起压缩,并以这种形式发送到服务器。这批消息将以压缩形式写入 ,保持在日志中并只能由消费者解压缩。
假设带宽为10MB/s,一次性发送10MB数据比逐个发送10000条消息要快得多(假设每条消息占用100字节) 。
压缩会提高消费者的吞吐量,但会增加一些解压缩成本 。
Kafka 支持 GZIP 和 Snappy 压缩协议。
水平扩展
首先让我们了解什么是垂直扩展。假设对于传统数据库服务器 ,当负载增加时 ,处理的模板下载一种方法是添加更多的资源,例如 CPU、RAM 、SSD 等 。这被称为垂直扩展 。它有一些缺点,如下所示:
每台硬件都有限制,无法无限制地向上扩展如果机器宕机怎么办 ?通常需要停机时间水平扩展通过添加更多的机器来解决相同的问题。
Kafka 具有在数千台机器之间为单个主题拥有数千个分区的能力 ,这意味着 Kafka 可以处理大量负载 。
相关文章
近期,一个大规模的网络钓鱼活动利用Microsoft Sway这一云基础的在线演示工具来搭建登陆页面,目的是为了诱使Microsoft 365用户泄露他们的登录凭证。2024年7月,Netskope的2025-12-07
Android 5.0将为Android Wear带来哪些影响
谷歌刚刚宣布了旗下最新的Android 5.0 Lollipop操作系统,而新系统的SDK开发工具包也已经正式向开发者公布,包括Nexus 4、Nexus 5、Nexus 7、Nexus 10以及刚刚2025-12-07
在如今智能手机市场竞争激烈的背景下,三星19300以其强大的功能和卓越的性能脱颖而出。本文将深入探讨三星19300在各个方面的优势,并展示它为用户带来的便利和愉悦。一、外观设计与手感舒适三星193002025-12-07
保护数据安全,探究朗科加密U盘的优势与特点(一款可靠的数据加密工具,安全守护您的隐私)
在信息时代,数据安全成为了一个备受关注的问题。随着互联网技术的迅猛发展,人们越来越多地依赖于电子数据存储和传输。然而,随之而来的风险也不断增加。为了保护个人和机构的敏感数据安全,朗科加密U盘应运而生。2025-12-07
几乎十分之九的IT决策者认为混合云功能对于希望实现数字业务转型的组织来说“重要”或“关键”2015年新增网民数量增长8%,增幅超过25亿人。将资产迁移到云端,降低了成本,提高了灵活性并提高了可扩展性2025-12-07
戴尔G3固态硬盘安装教程(一步步教你安装戴尔G3固态硬盘,提升游戏性能)
随着游戏的发展和技术的进步,电脑性能的要求越来越高。固态硬盘作为存储设备的一种新技术,具有更快的读写速度和更稳定的性能,成为提升电脑性能的重要选择之一。本文将以戴尔G3为例,为大家详细介绍如何安装固态2025-12-07

最新评论