您现在的位置是:IT资讯 >>正文
什么让 Apache Kafka 如此快速?
IT资讯76人已围观
简介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.noorid.com/html/385c9099524.html
相关文章
Python在网络安全中的十大应用与实践
IT资讯随着互联网的快速发展,网络安全问题日益突出。Python作为一种强大的编程语言,在网络安全领域中得到了广泛应用。本文将介绍Python在网络安全中的十大应用与实践,帮助您更好地了解Python在网络安 ...
【IT资讯】
阅读更多企业数据库险遭百亿损失,瑞数DDR全周期防护破解“暗雷”阴影
IT资讯在企业级数据库运维的世界里,真正的风险往往藏在看不见的角落。一次看似例行的容灾演练,本应是例行检查的“日常功课”,却意外揭开了一枚潜伏了整整300天的“暗雷”——一段经过精心篡改的安装脚本,悄无声息地 ...
【IT资讯】
阅读更多华硕主板BIOS设置U盘启动项(轻松实现系统安装和修复)
IT资讯华硕主板是一款性能出众的硬件设备,其BIOS功能十分强大。通过正确设置U盘启动项,我们可以轻松实现系统的安装和修复。本文将详细介绍如何在华硕主板的BIOS设置中设置U盘启动项,为您提供便捷的系统维护与 ...
【IT资讯】
阅读更多
热门文章
最新文章
友情链接
- 小米Note2(小米Note2在市场上受到广泛关注,销量持续飙升)
- 一体化电脑设置教程(简单操作,快速上手,助你充分利用一体化电脑的功能)
- Android M怎么样?
- EA888发动机(卓越性能、可靠稳定、绿色环保的EA888发动机)
- OPPO N3云空间为什么只有5G
- 三星galaxy xcover3配置怎么样
- 小米海康威视摄像头(细致监控,安心无忧)
- 改变logo,创造独特品牌形象的教程(简单易学的Logo设计教程,助你打造独特品牌)
- 索尼笔记本装机教程(一步步教您如何在索尼笔记本上进行硬件升级和软件安装)
- 三星Galaxy J5如何开启预览文本 网站建设企业服务器源码库亿华云云服务器香港物理机b2b信息平台