您现在的位置是:电脑教程 >>正文
什么让 Apache Kafka 如此快速?
电脑教程488人已围观
简介Kafka 支持高吞吐量、高度分布式、容错性强的平台,能够以低延迟传递消息。有几种技术使 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 可以处理大量负载 。
Tags:
转载:欢迎各位朋友分享到网络,但转载请说明文章出处“算法与编程”。http://www.bzli.cn/news/163a7899758.html
相关文章
最新研究,利用AI可检测和拦截中间人(MitM)攻击
电脑教程Bleeping Computer 网站披露,南澳大学University of South Australia)和查尔斯特大学Charles Sturt University)的教授开发出一种新算法 ...
【电脑教程】
阅读更多神舟优雅X5拆机全揭秘——探索内部奥秘(揭开神舟优雅X5的神秘面纱,发现它的内在结构和工艺之美)
电脑教程作为一款备受瞩目的笔记本电脑,神舟优雅X5凭借其高颜值和优秀性能赢得了众多用户的喜爱。但是,这款电脑的内部结构和工艺到底如何?本文将从拆机的角度为大家一一呈现。外观设计与拆机方式外观与拆机)神舟优雅X ...
【电脑教程】
阅读更多电脑版tim设置聊天窗口我发的信息在左侧的教
电脑教程tim是一款功能强的及时通讯软件,用户可以使用自己的qq和微信来登录使用,除了简单的通讯聊天外,用户还可以用来办公,在这款软件中有着云文件、在线文档、日程以及收藏等好用的办公功能,因此用户也可以将ti ...
【电脑教程】
阅读更多
热门文章
最新文章
友情链接
- 小米膜的优点和特点(为你的手机屏幕保驾护航)
- 温莎资本(揭秘温莎资本的成功秘诀与发展战略)
- 如何找回ID账号和密码?(有效方法帮助你找回丢失的账号和密码)
- 紫光云柳义利:通过可复制的行业云服务模式,助力数字化转型迈入新阶段
- 使用U盘安装新硬盘系统教程(一步步教你如何利用U盘轻松安装新硬盘系统)
- 康佳P2如何打造智能生活新体验(品质、智能与创新的完美结合)
- 神舟k710c评测(体验神舟k710c,畅享高性能办公娱乐利器)
- 昇腾AI异构计算架构CANN 6.0全新开放升级,全面释放AI生产力
- Root之后手机的变化及影响(探索手机root后的功能和风险) 网站建设香港物理机企业服务器亿华云源码库b2b信息平台云服务器