0
点赞
收藏
分享

微信扫一扫

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



文章目录

  • 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%完美兼容_云原生_03

AutoMQ:云原生 Kafka 解决方案,降低10倍成本100%完美兼容_kafka_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%完美兼容_Apache_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 带来的巨大性能与弹性优势。但目前用户群体还不是很大,如您要上生产环境,还需仔细论证后再做决定。


举报

相关推荐

0 条评论