首页 > 其他分享 >AutoMQ:云原生 Kafka 解决方案,降低10倍成本100%完美兼容

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

时间:2024-09-25 15:23:29浏览次数:3  
标签:10 存储 -- AutoMQ 100% Kafka automq kafka



文章目录

  • AutoMQ:云原生 Kafka 的全新演绎
  • 概述
  • 设计理念
  • 存储分离至共享云存储服务
  • 可靠性与可用性分离
  • AutoMQ 的技术优势
  • 1. 成本效益
  • 2. 极致弹性
  • 3. 冷热数据隔离
  • 4. 服务零中断
  • 5. 与 Apache Kafka 完全兼容
  • AutoMQ 部署与验证
  • 一键安装
  • 操作指南
  • 创建 Topic
  • 发送消息
  • 消费消息
  • 总结



公众号,感谢!




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



AutoMQ:云原生 Kafka 的全新演绎

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

概述

AutoMQ 重新设计了 Kafka 的架构,基于云的基础设施,将存储分离至对象存储,实现了 Apache Kafka 100% 的兼容性。它不仅提供了 10 倍的成本优势,还带来了百倍的弹性,极大地提升了扩展性和性能。

与传统的 Kafka 对比,AutoMQ 通过创新的存算分离架构,减少了运维复杂度,并充分利用了云环境中的共享存储特性。

官网:https://www.automq.com/zh

GitHub(3.6k):https://github.com/AutoMQ/automq

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

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


设计理念

存储分离至共享云存储服务

存算分离的优势早已在多个领域被证明,但许多传统的实现方式将存储设计为复杂的自管理分布式存储集群,增加了运维难度。AutoMQ 则将存储彻底解耦,依托云存储(如 S3 和 EBS)提供灵活、低成本、高可用的存储解决方案。通过自定义的 S3Stream 流存储库,AutoMQ 最大化地利用了共享存储的弹性和成本优势。

对比 Shared Nothing 架构
Kafka 依赖本地磁盘进行数据存储,称为 Shared Nothing 架构,但本地磁盘受限于物理扩展性。而共享云存储的容量几乎无限,采用共享存储架构可以更低成本地实现弹性伸缩和高可靠性。

可靠性与可用性分离

在传统的 Kafka 中,通过多副本机制来确保数据可靠性并提升可用性。AutoMQ 不再需要额外的多副本存储策略。通过将可靠性交给云存储处理,AutoMQ 专注于提供更高效的可用性提升机制。


AutoMQ 的技术优势

AutoMQ 不仅仅是对 Apache Kafka 的简化,而是从架构到应用的全方位优化。其主要技术优势包括:

1. 成本效益

由于依赖云存储,AutoMQ 将 Kafka 的本地存储成本降低了 10 倍。无需再为硬件、运维和管理本地存储集群而付出高额成本。

2. 极致弹性

AutoMQ 通过存算分离架构,确保业务逻辑层无状态化,从而能够在秒级完成分区迁移和流量重平衡,彻底解决 Kafka 在扩缩容时的缓慢问题。通过结合云厂商的弹性伸缩策略,轻松实现自动化的弹性伸缩。

3. 冷热数据隔离

在 Kafka 中,冷数据的读取可能会影响写入性能,但 AutoMQ 的架构通过将冷读与写操作彻底分离,避免了这种影响。冷读性能取决于对象存储的吞吐能力,而 EBS 作为日志存储(WAL),只为写操作服务,从而保障了稳定的写入性能。

4. 服务零中断

由于 AutoMQ 的数据完全存储在 S3 上,集群扩容时无需复制数据,能够快速应对突发流量。相较于 Kafka 在扩容时的复杂数据复制过程,AutoMQ 通过自动流量平衡和自动故障恢复,实现了真正的无中断服务。

5. 与 Apache Kafka 完全兼容

AutoMQ 仅在存储层对 LogSegment 进行优化,保留了 Kafka 的上层逻辑,因此能够做到与 Apache Kafka 100% 兼容。用户可以轻松迁移现有 Kafka 工作负载,无需额外的适配工作。


AutoMQ 部署与验证

一键安装

AutoMQ 提供了简易的一键安装命令,用户可以在本地快速部署 AutoMQ 进行验证和测试:

curl https://download.automq.com/community_edition/standalone_deployment/install_run.sh | bash

安装完成后,可以看到以下安装信息。该示例展示了在单台服务器上的部署效果:

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

如果需要停止并卸载 AutoMQ,执行以下命令即可:

curl https://download.automq.com/community_edition/standalone_deployment/stop_uninstall.sh | bash

操作指南

创建 Topic

AutoMQ 的命令行操作与 Kafka 完全兼容。使用以下命令创建一个新 Topic:

CMD='docker run --network automq_net automqinc/automq:latest /bin/bash -c "/opt/kafka/kafka/bin/kafka-topics.sh --create --topic quickstart-events --bootstrap-server broker1:9092,broker2:9092"'; [ "$(uname)" = "Linux" ] && eval "sudo $CMD" || eval $CMD

与 Kafka 相同,创建 Topic 的命令毫无差别,验证了 AutoMQ 的高兼容性。

发送消息

使用 Kafka 提供的脚本命令,可以通过以下命令向 Topic 中发送消息:

CMD='docker run -it --network automq_net automqinc/automq:latest /bin/bash -c "/opt/kafka/kafka/bin/kafka-console-producer.sh --topic quickstart-events --bootstrap-server broker1:9092,broker2:9092"'; [ "$(uname)" = "Linux" ] && eval "sudo $CMD" || eval $CMD

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

消费消息

使用以下命令从指定 Topic 中消费消息:

CMD='docker run --network automq_net automqinc/automq:latest /bin/bash -c "/opt/kafka/kafka/bin/kafka-console-consumer.sh --topic quickstart-events --from-beginning --bootstrap-server broker1:9092,broker2:9092"'; [ "$(uname)" = "Linux" ] && eval "sudo $CMD" || eval $CMD

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


总结

AutoMQ 通过云原生的架构优化,显著提升了 Kafka 的弹性和性能,并大幅降低了成本。其与 Apache Kafka 完全兼容的设计,使得企业可以无缝迁移现有的 Kafka 任务负载,同时享受到 AutoMQ 带来的巨大性能与弹性优势。但目前用户群体还不是很大,如您要上生产环境,还需仔细论证后再做决定。


标签:10,存储,--,AutoMQ,100%,Kafka,automq,kafka
From: https://blog.51cto.com/u_13721902/12109747

相关文章

  • Validation Failed: 1: this action would add [2] shards, but this cluster current
    在最近部署的一个项目中,是使用elk来记录应用系统日志的,突然发现,近几天的日志在kibana上面没有显示。于是去排查elk的日志,发现logstash中有这样一条警告信息"ValidationFailed:1:thisactionwouldadd[2]shards,butthisclustercurrentlyhas[999]/[1000]maximumn......
  • 数据处理与统计分析篇-day10-Matplotlib数据可视化
    数据可视化简介可视化介绍数据可视化是指直观展现数据,它是数据处理过程的一部分。把数值绘制出来更方便比较。借助数据可视化,能更直观地理解数据,这是直接查看数据表做不到的数据可视化有助于揭示数据中隐藏的模式,数据分析时可以利用这些模式选择模型可视化库介绍基于......
  • 最强Java100道核心面试题
    1.讲讲你理解的nio和bio的区别是啥,谈谈reactor模型。IO(BIO)是面向流的,NIO是面向缓冲区的BIO:BlockIO同步阻塞式IO,就是我们平常使用的传统IO,它的特点是模式简单使用方便,并发处理能力低。NIO:NewIO同步非阻塞IO,是传统IO的升级,客户端和服务器端通过Channel(通道)通......
  • Delphi10.3关键字自动填充完成AutoComplete
    声明两个全局变量varaStringList:TStringList;//读取关键字aMemoInput:string;//当前已输入项procedureTSearchReplaceDemoForm.FormCreate(Sender:TObject);beginaStringList:=TStringList.Create;aStringList.LoadFromFile('keyWord.txt');//从文件......
  • E+H恩得斯豪斯CYK10-A051
    E+H恩德斯豪斯CYK10-A051是一款高性能的PH计数字电极电缆,广泛应用于工业自动化和过程控制领域。以下是关于该产品的详细介绍:主要特性高精度:CYK10-A051电缆具有高精度的测量性能,能够准确传输PH值等电化学参数,确保测量结果的准确性和可靠性。完全防水连接:该电缆具有IP68防护等......
  • 10个超好用的企业文档加密软件丨2024年加密软件大盘点
    都2024年了!泄密事件依旧频发!到底该如何防止文档信息泄密?别急,本文小编为你整理了10款超好用的企业文档加密软件,有力保护你的文档信息安全,快来看看吧,一定有你的菜!1.安企神系统作为国内企业信息安全领域的领军产品,安企神在文档加密方面表现出色。其专为企业设计的加密系......
  • 这10种分布式ID,太绝了!
    这10种分布式ID,太绝了! 前言分布式ID,在我们日常的开发中,其实使用的挺多的。有很多业务场景在用,比如:分布式链路系统的trace_id单表中的主键Redis中分布式锁的key分库分表后表的id今天跟大家一起聊聊分布式ID的一些常见方案,希望对你会有所帮助。1UUIDUUID(Univers......
  • 优化Windows 10 Direct3D性能的注册表;优化Direct3D和整体游戏性能,可以从图形渲染、GPU
    优化Windows10Direct3D性能的注册表.reg文件示例CopyCodeWindowsRegistryEditorVersion5.00;优化Direct3D性能[HKEY_CURRENT_USER\Software\Microsoft\Direct3D]"DisableDirectDraw"=dword:00000001"MaxTextureWidth"=dword:00000400"MaxText......
  • 流量新密码?AI宠物定制写真在网络爆火,有人搞了10W+,有手就行
    大家好,我是强哥不知道大家发现没?消费者对于情感价值的需求猛增,宠物服务行业衍生出越来越多的“拟人化”新业态。宠物摄影和写真成为宠物经济中的新兴行业,吸引了越来越多的摄影师和养宠人的关注。一些摄影师和摄影机构单独开辟了这个业务,通过给宠物穿上服装、拍摄“毛孩子......
  • 像JSON一样使用ProtoBuf,空间还能缩小60%,性能提升100%
    引言在前面《释放你九成的带宽和内存:GZIP在解决Redis大Key方面的应用》一文中我使用GZIP算法可以将JSON格式数据的大小缩小88%从而节省了大量的存储和带宽资源,本文介绍另一种JAVA对象序列化神器——ProtoBuf(ProtocolBuffers(),它是由Google开发的一种用于序列化结构化数据的高效、......