当前位置:首页 > 科技  > 软件

如何确定Apache Kafka的大小和规模

来源: 责编: 时间:2023-10-23 17:03:13 202观看
导读作者丨Andrew Mills编译丨云昭调整或扩展Kafka以获得最佳成本和性能的第一步是了解数据流平台如何使用资源。这里给一些实用的建议。实现Apache Kafka的团队,或者扩展他们对强大的开源分布式事件流平台的使用,通常需要

作者丨Andrew MillsK0b28资讯网——每日最新资讯28at.com

编译丨云昭K0b28资讯网——每日最新资讯28at.com

K0b28资讯网——每日最新资讯28at.com

调整或扩展Kafka以获得最佳成本和性能的第一步是了解数据流平台如何使用资源。这里给一些实用的建议。K0b28资讯网——每日最新资讯28at.com

K0b28资讯网——每日最新资讯28at.com

实现Apache Kafka的团队,或者扩展他们对强大的开源分布式事件流平台的使用,通常需要帮助理解如何根据他们的需求正确地调整和扩展Kafka资源。这可能很棘手。K0b28资讯网——每日最新资讯28at.com

K0b28资讯网——每日最新资讯28at.com

无论您是在考虑云资源还是预处理硬件资源,了解Kafka集群将如何利用CPU、RAM和存储(并了解应遵循的最佳实践),都将使您处于一个更好的位置,可以立即获得正确的规模。结果将是成本和性能之间的优化平衡。让我们来看看Kafka是如何使用资源的,浏览一个有指导意义的用例,以及优化Kafka部署的最佳实践。K0b28资讯网——每日最新资讯28at.com

1、Kafka如何利用CPU的?

K0b28资讯网——每日最新资讯28at.com

一般来说,Apache Kafka在CPU利用率方面比较轻。在选择基础设施时,我倾向于拥有更多的核心而不是更快的核心,以提高并行化水平。影响CPU使用量的因素有很多,其中最主要的是SSL身份验证和日志压缩。其他考虑因素是每个代理拥有的分区数量、有多少数据将进入磁盘、Kafka消费者的数量(此处详细介绍),以及这些消费者离实时性有多近。如果您的数据消费者正在获取旧数据,那么从磁盘获取数据将花费CPU时间。我们将在下一节中对此进行深入探讨。K0b28资讯网——每日最新资讯28at.com

K0b28资讯网——每日最新资讯28at.com

了解CPU使用背后的这些基本驱动因素对于帮助团队正确确定可用CPU功率至关重要。K0b28资讯网——每日最新资讯28at.com

2、Kafka如何使用RAM的?

K0b28资讯网——每日最新资讯28at.com

RAM需求主要取决于需要在内存中保留多少“热”数据并可用于快速访问。一旦收到消息,Kafka就会将数据交给底层操作系统的页面缓存,后者负责将数据保存到磁盘。K0b28资讯网——每日最新资讯28at.com

K0b28资讯网——每日最新资讯28at.com

从大小和可伸缩性的角度来看,RAM的正确数量取决于您的用例的数据访问模式。如果您的团队将Kafka部署为实时数据流(使用转换并公开消费者将在几秒钟内提取的数据),则RAM需求通常很低,因为只需要在内存中存储几秒钟的数据。或者,如果您的Kafka消费者需要提取几分钟或几小时的数据,那么您需要考虑RAM中需要多少数据。K0b28资讯网——每日最新资讯28at.com

K0b28资讯网——每日最新资讯28at.com

CPU和RAM利用率之间的关系很重要。如果Kafka可以访问RAM中的数据,那么它就不必花费CPU资源从磁盘中获取数据。如果RAM中没有可用的数据,代理程序将从磁盘中提取数据,从而消耗CPU资源,并在数据传递中增加一些延迟。实现Kafka的团队在调整CPU和RAM资源时应该考虑到这种关系。K0b28资讯网——每日最新资讯28at.com

3、Kafka如何使用存储

K0b28资讯网——每日最新资讯28at.com

有几个因素会影响Kafka存储需求,如保留时间、数据转换和适当的复制因素。考虑这个例子:每天有几TB的数据落在一个Kafka主题上,使用Kafka对该数据执行六次转换以保留中间数据,每个主题保留数据三天,复制因子设置为3。很容易看出,团队可以根据使用Kafka的方式,将存储的数据需求快速增加一倍、三倍或四倍。您需要充分了解这些因素才能正确确定存储大小。K0b28资讯网——每日最新资讯28at.com

4、Kafka预定大小示例

K0b28资讯网——每日最新资讯28at.com

以下是我们工作中的一个真实例子,帮助媒体娱乐行业的服务提供商正确确定预先部署的Kafka的规模。该业务的峰值吞吐量入口为每秒10GB。组织需要存储10%的数据(每天总计9TB),并将这些数据保留30天。从复制的角度来看,该公司将存储该数据的三个拷贝,总存储需求为810TB。为了应对潜在的峰值,明智的做法是在预期需求的基础上增加30-40%的空间,这意味着组织应该有1.2PB的可用存储空间。它们不使用SSL,而且大多数消费者都需要实时数据,因此CPU和RAM需求不如存储重要。他们确实有一些批处理进程在运行,但延迟不是一个问题,所以数据来自磁盘是安全的。K0b28资讯网——每日最新资讯28at.com

K0b28资讯网——每日最新资讯28at.com

虽然这个特定的用例仍在构建中,但该示例演示了使用基本数据计算给定Kafka实现的最小有效规模的过程,然后从中探索扩大场景的潜在需求。K0b28资讯网——每日最新资讯28at.com

5、Kafka容量规划最佳实践

K0b28资讯网——每日最新资讯28at.com

了解给定用例的特定体系结构——主题设计、消息大小、消息量、数据访问模式、消费者数量等——可以提高预测大小的准确性。在考虑每个代理的适当存储密度时,请考虑在由于热点或代理丢失而重新分配分区期间重新流式传输数据所需的时间。如果你将100TB连接到Kafka代理,但它失败了,那么你正在重新传输大量数据。这可能会导致网络饱和,从而阻碍入口或出口流量,并导致生产商失败。有一些方法可以抑制回流,但你会发现平均恢复时间显著增加。         K0b28资讯网——每日最新资讯28at.com

6、常见的误解

K0b28资讯网——每日最新资讯28at.com

现在,越来越多的供应商为Kafka提供专有的分层存储,并将Kafka作为数据库或数据湖。卡夫卡不是一个数据库。虽然您可以使用Kafka进行长期存储,但您必须了解其中的权衡。K0b28资讯网——每日最新资讯28at.com

K0b28资讯网——每日最新资讯28at.com

从Kafka作为实时数据流引擎到充当数据库或数据湖的演变属于一种熟悉的模式。专门为特定用例设计的技术有时会成为某些用户的锤子,然后每个问题都像钉子一样。这些用户将尝试修改专门构建的工具以适应他们的用例,而不是查看已经解决问题的其他技术。K0b28资讯网——每日最新资讯28at.com

K0b28资讯网——每日最新资讯28at.com

这让我想起了Apache Cassandra意识到来自关系世界的用户正在努力理解数据模型在扁平行中的重要性。用户在开始存储数据之前不习惯理解访问模式,他们只会在现有表上添加另一个索引。在Cassandra v3.0中,该项目公开了物化视图,类似于索引关系表,但实现方式不同。从那时起,这个功能就充满了问题,并被标记为实验性的。我觉得Kafka作为数据库或数据湖的想法注定会有类似的命运。K0b28资讯网——每日最新资讯28at.com

7、找到合适的尺寸以获得最佳成本和Kafka性能

K0b28资讯网——每日最新资讯28at.com

在没有首先了解Kafka资源利用率的情况下匆忙进入Kafka实现的团队经常会遇到问题和障碍,这些问题和障碍教会了他们艰难的道路。通过花时间了解Kafka的资源需求,团队将实现更高效的成本和性能,他们将能够更有效地支持他们的应用程序。K0b28资讯网——每日最新资讯28at.com

K0b28资讯网——每日最新资讯28at.com

参考链接: https://www.infoworld.com/article/3708250/how-to-size-and-scale-apache-kafka-without-tears.htmlK0b28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-14563-0.html如何确定Apache Kafka的大小和规模

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 20 个提高效率的 JavaScript 缩写技巧

下一篇: Java函数式编程实战:Consumer、Predicate和Supplier的使用指南

标签:
  • 热门焦点
  • 红魔电竞平板评测:大屏幕硬实力

    红魔电竞平板评测:大屏幕硬实力

    前言:三年的疫情因为要上网课的原因激活了平板市场,如今网课的时代已经过去,大家的生活都恢复到了正轨,这也就意味着,真正考验平板电脑生存的环境来了。也就是面对着这种残酷的
  • 一加首款折叠屏!一加Open渲染图出炉:罕见单手可握小尺寸

    一加首款折叠屏!一加Open渲染图出炉:罕见单手可握小尺寸

    8月5日消息,此前就有爆料称,一加首款折叠屏手机将会在第三季度上市,如今随着时间临近,新机的各种消息也开始浮出水面。据悉,这款新机将会被命名为“On
  • Rust中的高吞吐量流处理

    Rust中的高吞吐量流处理

    作者 | Noz编译 | 王瑞平本篇文章主要介绍了Rust中流处理的概念、方法和优化。作者不仅介绍了流处理的基本概念以及Rust中常用的流处理库,还使用这些库实现了一个流处理程序
  • CSS单标签实现转转logo

    CSS单标签实现转转logo

    转转品牌升级后更新了全新的Logo,今天我们用纯CSS来实现转转的新Logo,为了有一定的挑战性,这里我们只使用一个标签实现,将最大化的使用CSS能力完成Logo的绘制与动画效果。新logo
  • 十个简单但很有用的Python装饰器

    十个简单但很有用的Python装饰器

    装饰器(Decorators)是Python中一种强大而灵活的功能,用于修改或增强函数或类的行为。装饰器本质上是一个函数,它接受另一个函数或类作为参数,并返回一个新的函数或类。它们通常用
  • 本地生活这块肥肉,拼多多也想吃一口

    本地生活这块肥肉,拼多多也想吃一口

    出品/壹览商业 作者/李彦编辑/木鱼拼多多也看上本地生活这块蛋糕了。近期,拼多多在App首页“充值中心”入口上线了本机生活界面。壹览商业发现,该界面目前主要
  • 3699元!iQOO Neo8 Pro顶配版今日首销:1TB UFS 4.0同价位唯一

    3699元!iQOO Neo8 Pro顶配版今日首销:1TB UFS 4.0同价位唯一

    5月23日,iQOO推出了全新的iQOO Neo8系列,包含iQOO Neo8和iQOO Neo8 Pro两个版本,其中标准版搭载高通骁龙8+,而Pro版更是首发搭载了联发科天玑9200+旗舰
  • iQOO Neo8 Pro即将开售:到手价3099元起 安卓性能最强旗舰

    iQOO Neo8 Pro即将开售:到手价3099元起 安卓性能最强旗舰

    5月23日,iQOO如期举行了新品发布会,全新的iQOO Neo8系列也正式与大家见面,包含iQOO Neo8和iQOO Neo8 Pro两个版本,其中标准版搭载高通骁龙8+,而Pro版更
  • OPPO K11评测:旗舰级IMX890加持 2000元档最强影像手机

    OPPO K11评测:旗舰级IMX890加持 2000元档最强影像手机

    【Techweb评测】中端机型用户群体巨大,占了中国目前手机市场的大头,一直以来都是各手机品牌的“必争之地”,其中OPPO K系列机型一直以来都以高品质、
Top