Kafka 痛点专题|AutoMQ 如何解决 Kafka 冷读副作用

解析 Kafka 和 AutoMQ 的监控 如果要实现一个全面的 Kafka 监控框架,至少应该囊括 Kafka 所在主机资源、JVM(毕竟 Kafka 的 Broker 就是一个 Java 进程)、Kafka 集群本身等的监控,监控 Kafka 集群时还需要关注其客户端程序的性能。以容器的方式运行,推荐在官方镜像的基础之上对关键配置文件做变更即可,重新构建“automqinc/automq”镜像,具体步骤如下:1)、构建目录,其中 config 目录下的配置文件全是从官方镜像拷贝出来的,当然也可以从 github 源码中直接拷贝。 阅读详情

背景

Apche Kafka (下文简称 Kafka)作为一款成功的流处理平台已经在各行各业中有广泛的应用,并且具备极其强大的软件生态。但是,其一些缺点也给使用者带来了很大的挑战。AutoMQ 是基于云原生架构实现的新一代 Kafka ,与 Kafka 100% 完全兼容。致力于解决 Kafka 原有的迁移复制低效、缺乏弹性、成本高昂等缺点,成为新一代云原生 Kafka 解决方案。

为了让读者更好地理解 AutoMQ 相比 Kafka 的优势,我们推出了 《Kafka 痛点专题》 这个系列,帮助读者更好地理解当前 Kafka 存在的痛点问题以及 AutoMQ 是如何解决这些问题的。今天主要分享的是 Kafka 中冷读(也可称追赶读,即 Catch-up Read )副作用的产生原理,以及 AutoMQ 是如何通过云原生的架构设计来避免原 Kafka 冷读带来的副作用的。

冷读是如何产生的

在消息和流系统中,冷读是常见且具有重要价值的场景,包括以下几点:

• 保证削峰填谷的效果: 消息系统通常用于业务解耦和削峰填谷。在削峰填谷场景中,消息队列可暂时保存上游数据,以便下游逐步消费。这些数据通常不在内存中,而是需要进行冷读取。因此,优化冷读效率对于提高削峰填谷的效果至关重要。

• 批处理场景广泛应用: 在与大数据分析结合时,Kafka 通常用于处理批处理场景。在这种情况下,任务需要从几个小时甚至一天前的数据开始扫描计算。冷读的效率直接影响了批处理的时效性。

• 故障恢复效率: 在实际生产环境中,消费者由于逻辑问题或业务 BUG 导致故障宕机是常见问题。消费者恢复后,需要快速消费堆积的历史数据。提高冷读效率可以帮助业务更快从消费者宕机故障中恢复,减少中断时间。

• Kafka 分区迁移时数据复制引发冷读: Kafka 在扩容时需要迁移分区数据,这时候也会引发冷读。

冷读是 Kafka 中实际应用中必然需要面临的正常需求。对于 AutoMQ 而言,我们并不会去尝试消除冷读,而是重点在于解决好 Kafka 冷读本身带来的副作用。

冷读带来的副作用

接下来我们会分析 Kafka 冷读具体会带来哪些副作用,以及为什么 Kafka 没有办法解决这些问题。

硬盘 I/O 争抢问题

Kafka 运维中的一个重要挑战是处理冷读时对硬盘 I/O 的大量占用。硬盘或云盘的单盘 IOPS 和吞吐能力有限。冷读会导致从硬盘大量读取数据,当某些分区数据在节点上分布不均时,容易造成热点访问。对大量数据的分区进行冷读会快速占用单盘的 IOPS 和吞吐资源,直接影响节点上其他 Topic 分区数据的读写性能。

Kafka 没法解决该副作用的主要原因是其本身存储实现强依赖本地存储。Kafka 的数据全部存储在 Broker 的本地磁盘上,冷读时消耗大量磁盘 I/O 导致其他读写请求需要访问磁盘时性能受限。即使像 Kafka 商业化公司 Confluent 实现了 KIP-405 所描绘的分层存储,该问题仍然没有得到彻底的解决。在 Kafka 分层存储的实现中,Kafka 仍然要求分区的最后一个 LogSegment 必须在本地磁盘上,Broker 和本地存储仍然是强依赖的。因此,Kafka 冷读时则并不能完全从 S3 或者内存从读取数据,其必然有请求需要从分区的最后一个 LogSegment 中读取数据。当 LogSegment 的数据比较大时,硬盘 I/O 的争抢问题也将会更加严重。总的来说,Kafka 采用分层存储试图一定程度去降低冷读副作用的影响,但是并没有在根本上解决问题。

Page Cache 污染

Kafka 冷读时,从磁盘加载大量数据经过 Page Cache 供消费者读取,会造成 Page Cache 的数据污染。Page Cache 的大小是比较有限的,由于本质是个缓存,当新的对象需要加入 Page Cache 时,如果其容量不足,就会驱逐一些旧的对象。

Kafka 没有做冷热隔离,当冷读发生时,大量冷数据的读取会迅速抢占 Page Cache 的容量,将其中其他 Topic 的数据驱逐出去。当其他 Topic 的消费者需要从 Page Cache 读取数据的时候就会发生 Cache Miss,进而必须从硬盘中读取数据,此时读取的延迟将会大大增加。在这种情况下,由于从硬盘加载数据,整体的吞吐性能也会快速退化。Kafka 利用 Pache Cache 结合 sendfile 系统调用在没有发生冷读时有很好的性能表现,但是一旦发生冷读,其对吞吐和读写延迟的影响将会令人非常头疼。
Kafka 没法很好的解决该问题主要还是因为其读写模型本身设计上强依赖 Page Cache 来兑现其强大的性能和吞吐的。

Zero Copy 在冷读时阻塞网络请求

Kafka 采用零拷贝技术sendfile 来避免内核态和用户态交互的开销来提升性能一直以来被大家津津乐道。但是不可否认的是, sendfile 在冷读时,会带来额外的副作用。

在 Kafka 的网络线程模型中,读写请求会共享一个网络线程池来处理网络请求。在没有冷读的理想场景下,网络线程经过 Kafka 的处理后,需要向网络返回数据时,直接从 Page Cache 加载数据返回,整个请求响应在几微秒内可以完成,整个读写流程是非常高效的。

但是如果产生了冷读,Kafka 网络线程向网络的内核发送缓冲区写数据时,调用 sendfile 需要先将磁盘加载到 Page Cache 中,然后再写到网络的内核发送缓冲区。在这个零拷贝过程中,Linux 内核态从磁盘加载数据到 Page Cache 的过程中是个同步的系统调用,因此网络线程只能同步等待其关联的数据从磁盘加载数据完成,才可以继续去处理别的工作。

Kafka 的网络线程池是被 Client 的读写网络请求共享的。冷读时,Kafka 网络线程池中大量网络线程在同步等待系统调用返回,这会阻塞新的网络请求被处理,同时也使得消费者消费的延迟进一步增加。下图演示了冷读时, sendfile 是如何影响网络线程的处理从而进一步拖慢整体的生产和消费效率的。

根据上文的原理分析可知,Kafka 之所以没办法很好的解决这个问题主要还是受限于其线程模型的设计。在 Kafka 的读写线程模型中,读写共享网络线程池,冷读时 sendfile 的慢操作没有与读写核心流程异步解耦导致了其在冷读时网络线程成为瓶颈,进而造成明显的吞吐性能下降。

AutoMQ 如何解决冷读副作用

冷热隔离

对象存储是云上最具规模化、成本和技术红利的云服务。我们可以看到,像 Confluent, Snowflake 都在基于云对象存储重塑自己的软件服务来给用户提供更低成本、更稳定和弹性的存储能力。基于云对象存储重新设计基础软件也成为当前 Infra 领域软件设计的新风尚。AutoMQ 作为一款真正意义上的云原生软件,在设计之初就确定需要将对象存储作为其主存,从而设计了流场景中,面向对象存储的流存储库 S3Stream 。该流存储库在 Github 上也已开源,可以搜索 automq-for-kafka 关注。

AutoMQ 使用对象存储作为主存储,不仅带来了极致的成本和弹性优势,另外一个非常重要的益处就是有效隔离了冷热数据,从根源上解决了 Kafka 硬盘 I/O 争抢的问题。在 AutoMQ 的读写模型中,冷读时数据会直接从对象存储上加载数据,而不是从本地磁盘上读取数据,这样就天然的隔离了冷读,自然也就不会抢占本地磁盘的 I/O 了。

此外,AutoMQ 基于对象存储实现的冷读隔离是不会有性能上的副作用的。通过并发、预读和批量读取等技术优化措施,在冷读时的吞吐性能上可以完全匹敌 Kafka。

自主管理内存不依赖 Page Cache

AutoMQ 的读写模型中并没有依赖 Page Cache,因此也自然不会有 Kafka Page Cache 污染的副作用。虽然摒弃了使用 Page Cache,但是 AutoMQ 在性能上并没有妥协,主要是因为采取了如下一系列的技术手段。

使用 Direct I/O 读写裸设备 AutoMQ 绕过文件系统,通过 Direct I/O 直接读写裸设备。这带来的好处主要是:

• 避免 Page Cache 污染: 绕过文件系统自然也就不存在 Page Cache 污染了

• 减少数据复制: 使用 Direct I/O 直接读取裸设备,数据只有一次复制,从硬件直接拷贝到应用程序的用户态。

• 减少文件系统开销: 文件系统一般需要写 Journal,管理 Metadata,在写入上会相比实际写入消耗更多的带宽以及 IOPS,写入路径也更长,所以性能上会比裸设备差。

• 更快的容灾恢复速度: AutoMQ 的 WAL 数据会保留在云盘上,然后异步刷出到对象存储。当计算实例宕机时,云盘会自动漂移挂载到其他可用的机器上,由 AutoMQ 完成容灾操作,即将其云盘上剩余的 WAL 刷出到对象存储然后再删除云盘。在这个容灾过程中,由于直接操作的裸设备,可以避免文件系统恢复的时间开销,提升容灾的时效性。

• 避免 Kafka 数据丢失: AutoMQ 需要将数据持久化到云盘才返回给客户端成功响应。在 Kafka 的默认推荐配置中,为了保证性能一般都是异步持久化数据的。当机房断电这种场景时,文件系统残留脏页会丢失导致数据丢失。

自主管理堆外内存

利用文件系统的 Page Cache 提升性能是一种比较取巧的方式。对于 Kafka 而言,意味着其无需自身实现一套内存 Cache,也不用担心其 JVM 的对象开销和 GC 问题。不得不说,在非冷读场景下,这种方式确实是有着不错的表现。但是一旦出现冷读,Kafka 用户态对 Page Cache 的默认行为干预能力就很有限,没法做一些精细化的管理。因此,像 Kafka 冷读时 Page Cache 的污染就很难处理。

AutoMQ 在设计之初就是充分考虑到了使用 Page Cache 的利弊,在自研的 S3Strean 流存储库中,实现了 JVM 堆外内存的高效自主管理。通过设计冷热隔离的缓存 BlockCache 和 LogCache,可以保证在各种场景下均可以完成高效的内存读写。在未来的迭代中,AutoMQ 也可以根据流场景对内存读写进行更加精细化地管理和优化。

异步 I/O 响应网络层

Kafka 的线程模型本质上是围绕 Page Cache 和零拷贝技术来设计的。前文也指出了其核心问题是在冷读时,网络线程同步等待磁盘读取,导致整个读写流程受阻,影响了性能。

AutoMQ 没有出现的问题也是得益于其自主实现的内存管理机制。由于没有依赖 Page Cache,AutoMQ 存储层实现时会异步加载完数据再响应到网络层,因此读写请求不会同步等待 磁盘 I/O 完成才去处理别的工作。这使得整体的读写处理变得更加高效。

冷读的性能

冷读是 Kafka 中的常见应用场景,AutoMQ 在处理 Kafka 冷读副作用时,不仅做到了冷热隔离,同时也考虑到了确保冷读性能不受影响的重要性。

AutoMQ 通过以下几种技术手段保证了冷读时的性能:

• 对象存储读取性能优化: 通过预读、并发和缓存等手段直接从对象存储读取数据,保证了整体上优异的吞吐性能。

• 云原生的存储层实现,减少网络开销: AutoMQ 利用了云盘底层的多副本机制保证了数据的可靠性,因此在 Broker 层面可以减少副本复制的网络延迟开销。从而相比 Kafka 有更好的延迟、总体吞吐表现。

以下表格的结果来自于 AutoMQ vs Kafka 的实测性能对比报告,显示在相同负载和机型下相比 Kafka,AutoMQ 冷读时可以保证不影响写入吞吐和延迟的情况下,拥有和 Kafka 相同水准的冷读性能。

对比项

追赶读过程中发送耗时

追赶读过程中对发送流量影响

追赶读峰值吞吐

AutoMQ

小于3ms

读写隔离,维持800 MiB/s

2500-2700MiB/s

Apache Kafka

大约800ms

相互影响,

下跌到150 MiB/s

2600-3000MiB/s 

(牺牲写入)

总结

本文着重剖析了 Kafka 在冷读时产生问题的原理,以及 AutoMQ 的解法。下一篇 《Kafka 痛点专题》我们将探讨 Kafka 痛点中的 No.1 ,即弹性,敬请期待。

END

关于我们

我们来自 Apache RocketMQ 和 Linux LVS 项目的核心团队,曾经见证并应对过消息队列基础设施在大型互联网公司和云计算公司的挑战。现在我们基于对象存储优先、存算分离、多云原生等技术理念,重新设计并实现了 Apache Kafka 和 Apache RocketMQ,带来高达 10 倍的成本优势和百倍的弹性效率提升。

🌟GitHub 地址:https://github.com/AutoMQ
💻 官网:https://www.automq.com👀 B站:AutoMQ官方账号🔍 视频号:AutoMQ

👉 扫二维码加入我们的社区群

关注我们,一起学习更多云原生技术干货!

win10和Mac上安装Freesurfer Mac安装Freesurfer 软件下载地址 可以根据官方给出的demo视频一步一步下载 阅读详情

相关推荐

IGV实战指南:从数据导入到Peak可视化的全流程解析

本文提供了一份IGV实战指南,详细解析了从数据导入到Peak可视化的全流程。内容包括软件安装、参考基因组加载、测序数据处理、信号调整以及如何精准定位和可视化Peak区域,并分享了导出出版级矢量图的高级技巧,帮助用户高效完成基因组数据可视化分析。

weixin_29212867的博客 149

AutoMQ:云原生 Kafka 解决方案,降低10倍成本100%完美兼容

AutoMQ 重新设计了 Kafka 的架构,基于云的基础设施,将存储分离至对象存储,实现了 Apache Kafka100% 的兼容性。它不仅提供了10 倍的成本优势,还带来了百倍的弹性,极大地提升了扩展性和性能。与传统的 Kafka 对比,AutoMQ 通过创新的存算分离架构,减少了运维复杂度,并充分利用了云环境中的共享存储特性。官网:https://www.automq.com/zhAutoMQ 通过云原生的架构优化,显著提升了 Kafka 的弹性和性能,并大幅降低了成本。

jast 1675

最小可分辨对比度(MRC)

最小可分辨对比度的测试方法如下: 1)选择对比度测试靶板,一般有100%,50%,33.77%,15%,5%。 2)调整照度,确保能够清晰观测到图像中的靶标; 3)利用USAF1951分辨率靶观察找到能够分辨出的靶标。 1951 USAF分辨力测试图目前仍广泛地应用于测试光学成像系统(如显微镜和相机)的分辨能力。这种图案包括几组由三条短线构成组合,短线的尺寸从大到小。成像系统无法辩明的...

6272

AutoMQ 携手阿里云共同发布新一代云原生 Kafka,帮助得物有效压缩 85% Kafka 云支出!

以成本换效率的上云方式需要高速发展的业务来支撑,在今天降本的大环境下,以云原生,甚至多云原生重新设计的云服务相较于「Cloud-Hosted」的云服务将在弹性、成本、容量、效率等各方面有数量级的优势,云托管(Cloud-Hosted)类型的云服务即将被淘汰。稳定性有其高大上的一面,也有需要埋头苦干的另一面,聪明人一起坚持做一件事情可能是得物稳定性的内涵,郝豪提到他在业务场景的治理上,告警规则的梳理上,持续做了 3 年,从 21 年到 23 年持续在投入,每一年都有不同的方向和目标。

AutoMQ的博客 2406

从扇束到平行束:等角重排算法在CT重建中的核心原理与MATLAB实践

本文深入解析了CT图像重建中等角扇束重排算法的核心原理与MATLAB实现。通过将实际采集的扇束投影数据,利用几何映射和两次关键插值,转换为适用于经典滤波反投影算法的平行束数据,打通了高效重建的关键路径。文章结合Shepp-Logan模型仿真,提供了完整的MATLAB代码实践,并分析了源-物距、采样率等关键参数对重建质量的影响。

cnn8visionary的博客 647

FreeRTOS-Plus-CLI使用笔记

FreeRTOS-Plus-CLI使用笔记 一、简介 详细介绍可参考FreeRTOS-Plus-CLI官网地址入口 FreeRTOS+CLI(Command Line Interface, 命令行接口)提供了一种简单、小型、可扩展且RAM高效的方法,使FreeRTOS应用程序能够处理命令行输入。添加一条指令的步骤如下: 提供一个实现命令功能的函数 将命令映射到该功能函数 注册命令 运行命令解释器 命令行调试接口对于排查分析出现的问题提供了很好的接口,可以通过查看传感器信息判断传感器是否正常,可以查看内置

ApexYuan 6964

原理剖析:AutoMQ 如何实现分区持续重平衡

01 引言 在一个线上 Kafka 集群中,流量的波动、Topic 的创建和删除、Broker 的消亡和启动都随时可能发生,而这些变化可能导致流量在集群各个节点间分布不均,从而导致资源浪费、影响业务稳定。此时则需要主动将 Topic 的不同分区在各个节点间移动,以达到平衡流量和数据的目的。当前,Apache Kafka 仅提供了分区迁移工具,但具体的迁移计划则需要运维人员自行决定,而对于动...

gaoliang1719的专栏 268

STM32 SAI接口TDM模式实战:8通道音频采集系统搭建全流程(附DMA配置代码)

本文详细介绍了基于STM32 SAI接口TDM模式搭建8通道音频采集系统的全流程。内容涵盖硬件连接设计、CubeMX时钟树与SAI外设的详细配置,并重点解析了TDM模式的核心代码实现与DMA双缓冲机制,提供了完整的配置代码和常见时序问题排查指南,助力开发者高效实现多通道音频传输与处理。

weixin_29192211的博客 505

AutoMQ 如何实现没有写性能劣化的极致冷读效率

Apache Kafka 一直以来都以极致的吞吐能力受到广大开发者和使用者的喜爱。AutoMQ[1] 在保证与 Apache Kafka 100% 兼容并且提供极致弹性和降本能力的基础上,不仅做到了相比Kafka更加极致的吞吐能力,同时还解决了Kafka冷读时,写吞吐性能劣化的问题。接下来,本文将从追赶读的实现来说明 AutoMQ 如何做到单机 1K 分区并发追尾读达到 1GB/s 的极致吞吐能力,并且在追赶读过程中避免发送流量的性能劣化。

AutoMQ的博客 1212

torchsparse安装

torchsparse安装以及安装失败原因分析和解决

AI_BING_的博客 1万+

带标签的PHM2009齿轮箱数据集

PHM2009附加数据集—带标签的齿轮箱数据集,可用于测试算法

qq_39379705的博客 4874

360 如何用 AutoMQ 解决千亿级 Kafka 冷读难题

360集团采用AutoMQ解决了Kafka冷读难题,显著提升了日志检索平台性能。AutoMQ的存算分离架构通过三条独立数据路径(写入、热数据消费、冷数据读取)实现冷热隔离,将生产P99延迟从10秒降至500毫秒,积压量减少40倍,同时节省50%硬件成本。评估测试验证了其毫秒级延迟、读写隔离和分钟级弹性扩容能力。生产部署采用K8s+对象存储方案,配备集群级故障切换机制,为360的日志平台提供了更高效的云原生消息服务。

AutoMQ的博客 432

YOLOv9分割改进 ,YOLOv9分割改进主干网络为华为EfficientNet,助力涨点

EfficientNet论文中研究了卷积网络的缩放和,并证明对深度,宽度和分辨率复合缩放的重要性,因此精度和效率更好。为了阐述相关的原理,我们提出了简单有效的复合缩放方法,使得模型缩放具有一定设计准则,同时兼顾了模型的效率。我下文将 YOLOv9 分割模型改进主干网络为 EfficientNet 融合网络结构。论文地址代码地址下文都是手把手教程,跟着操作即可添加成功把环境配置好,数据集处理好,训练基本能成功,创作不易,请帮忙点一个爱心,关注我,带你不挂科!

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 938

得物使用AutoMQ构建海量数据处理的新一代可观测性架构

得物通过引入AutoMQ,成功解决了Apache Kafka在大规模数据处理中的诸多挑战。在实际应用中,AutoMQ在得物可观测性平台表现出了显著的优势,不仅降低了系统的存储和计算成本,而且大幅度提升了资源利用率和运维效率。得物可观测性平台借助AutoMQ的存算分离架构,克服了Kafka在扩展性、存储成本和运维复杂性上的局限性,实现了动态资源调整和高效的冷读优化。在双十一高峰期,AutoMQ的卓越性能和弹性扩缩容能力保证了系统的高可用性和稳定性,无需额外进行繁重的容量评估和提前扩容操作。

AutoMQ的博客 1802

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

AutoMQ-Kafka的替代方案实战

AutoMQ-kafka的替代方案实战

core815的专栏 1291

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Kafka 迁移 AutoMQ 时 Flink 位点管理的挑战与解决方案

编辑导读: AutoMQ 是一款与 Apache Kafka 100% 完全兼容的新一代 Kafka,可以做到至多 10 倍的成本降低和极速的弹性。凭借其与 Kafka 的完全兼容性可以与用户已有的 Flink 等大数据基础设施进行轻松整合。Flink 是重要的流处理引擎,与 Kafka 有着密切的关系。本文重点介绍了当用户需要将生产 Kafka 集群迁移到 AutoMQ 时,如何处理好 Flink 的位点来确保整体迁移的平滑过渡。

AutoMQ的博客 1457

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

AutoMQ:无需 Cruise Control 实现 Kafka 的自动分区再平衡

如果你在公司内部管理过 Kafka 部署,可能会执行跨集群分区重新分配操作。由于 Kafka 中计算和存储的紧密耦合,当集群成员发生变化(如添加或移除 broker)或用户希望在 broker 之间平衡负载时,分区副本需要重新分配到不同的 broker,从而导致数据迁移。虽然 Kafka 提供了处理重新分配过程的脚本,但它需要用户干预,并且在规划方面缺乏稳健性。诸如 Cruise Control 之类的工具,基于集群状态提供自动化的副本平衡,并提供更详细的重新分配规划。然而,数据迁移的问题仍然存在。

AutoMQ的博客 1357

AutoMQ 集成 Debezium

在现代企业中,数据处理需求的不断增长使得实时监控和响应数据库变化变得尤为重要。无论是电商平台的订单处理、库存管理,还是金融系统的交易监控,都需要对数据库中的变化进行实时捕捉和处理。这不仅能提高系统响应速度,还能在数据发生变化时及时采取相应的业务操作。为了实现这一目标,本文将介绍如何使用 Debezium [1] 监测 MySQL 数据库的变化,并将这些变化事件发送到 AutoMQ [2] 中。AutoMQ 作为一种高效、低成本的流处理系统,具有高弹性和高可用性,是企业实时数据处理的理想选择。

AutoMQ的博客 1100

Kafka Linking:揭秘 AutoMQ 如何实现全球首个Zero-Downtime Kafka 迁移方案

AutoMQ 是一款基于云存储全新设计的 Kafka 发行版,相较传统的 Apache Kafka 拥有 10 倍的成本优势和秒级的弹性能力。

AutoMQ的博客 1047

AutoMQ:云原生Kafka的革命性替代方案

你是否正面临Kafka集群扩展困难、跨可用区流量成本高昂、存储容量受限等痛点?AutoMQ作为一款云原生的Kafka分支,通过将存储与计算分离并迁移至S3或兼容S3的对象存储,实现了10倍成本优化、秒级弹性扩展和毫秒级延迟,彻底改变了传统Kafka的运维模式。本文将从核心优势、架构解析、快速部署和实际应用场景四个维度,带你全面了解这款革命性的消息队列解决方案。 ## 核心优势:重新定义云原生消息

gitblog_00068的博客 940

知乎启用AutoMQ替换Kafka,开辟成本优化与运维提效新纪元

作者:知乎在线架构组 王金龙。

AutoMQ的博客 1202

基于 Kafka 的经验:AutoMQ 和 MinIO 如何解决成本和弹性挑战

AutoMQ 是 Kafka 的一个开源分支,它以基于对象存储的共享存储架构取代了 Kafka 的存储层,同时 100% 复用了 Kafka 的计算层代码,保证了与 Kafka API 协议和生态系统的完全兼容性。得益于 MinIO 与 AWS S3 API 的完全兼容性,您甚至可以在私有数据中心部署 AutoMQ 集群,以获得与 Kafka API 完全兼容的流式处理系统,但提供更好的成本效益、极高的可扩展性和个位数毫秒的延迟。请注意,您只能在创建时复制密钥,因此请确保访问密钥的两个部分都是安全的。

MinIO 1539

AutoMQ vs Kafka: 来自小红书的独立深度评测与对比

Apache Kafka 分区迁移需要将分区的副本拷贝到新的节点,拷贝历史数据的同时还要追赶新写入的数据,迁移的耗时 = 分区数据量 / (迁移吞吐限制 - 分区写入吞吐),在实际生产环境中,分区迁移往往是小时级的,本测试中的 30 GiB 的分区迁移耗时就到了 15 分钟。除了迁移耗时长以外,Apache Kafka 迁移需要从硬盘读取冷数据,即使在设置了 throttle 的情况下,仍旧会因为抢占 page cache 导致发送延迟的抖动,影响服务质量。消费者逻辑问题,修复后,回溯消费历史数据。

AutoMQ的博客 1308

「布道师系列文章」宝兰德徐清康解析 Kafka 和 AutoMQ 的监控

如果要实现一个全面的 Kafka 监控框架,至少应该囊括 Kafka 所在主机资源、JVM(毕竟 Kafka 的 Broker 就是一个 Java 进程)、Kafka 集群本身等的监控,监控 Kafka 集群时还需要关注其客户端程序的性能。以容器的方式运行,推荐在官方镜像的基础之上对关键配置文件做变更即可,重新构建“automqinc/automq”镜像,具体步骤如下:1)、构建目录,其中 config 目录下的配置文件全是从官方镜像拷贝出来的,当然也可以从 github 源码中直接拷贝。

AutoMQ的博客 1389

AutoMQ 生态集成 Redpanda Console

上述过程中,搭建 AutoMQ 集群之后,我们已经知道了所有的 Broker 节点监听的地址和端口,因此我们可以通过指定 Docker 启动命令中的 KAFKA_BROKERS 参数,将 Redpanda Console 与 AutoMQ 集群建立起关联关系。下面我将分别介绍两种配置方法。监控 Topic 详情信息可以让我们深入了解消息队列的运行状况,通过浏览消息列表进行追踪和调试,查看消费者信息监控消费情况,了解分区状态确保数据分布和高可用性,管理配置信息优化性能,以及设置访问控制保障数据安全。

AutoMQ的博客 1005
上一篇: AutoMQ 社区双周精选第八期(2024.02.26~2024.03.08)
下一篇: 章文嵩等技术大咖共同探讨企业数据治理和降本增效策略运用!
AutoMQ
博客等级 码龄3年 1206粉丝 157原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值