automq README

The project's README from github.com/AutoMQ/automq. As one markdown file: README.md.

Diskless Kafka® on S3, Offering 10x Cost Savings and Scaling in Seconds.

📑  Documentation    🔥  Explore AutoMQ Playground Now   

Linkedin Badge Gurubase DeepWiki

AutoMQ%2Fautomq | Trendshift

automq-solgan
Grab LG U+ Tencent Honda JD
Bambu Lab miHoYo Hungry Studio FunPlus Avia Games

Prerequisites

Before running AutoMQ locally, please ensure:

[!Tip] Deploying a production-ready AutoMQ cluster is challenging. This Quick Start is only for evaluating AutoMQ features and is not suitable for production use. For production deployment best practices, please contact our community for support.

The docker/docker-compose.yaml file provides a simple single-node setup for quick evaluation and development:

curl -O https://raw.githubusercontent.com/AutoMQ/automq/refs/tags/1.5.5/docker/docker-compose.yaml && docker compose -f docker-compose.yaml up -d

This setup features a single AutoMQ node serving as both controller and broker, alongside MinIO for S3 storage. All services operate within a Docker bridge network called automq_net, allowing you to start a Kafka producer in this network to test AutoMQ:

docker run --network automq_net automqinc/automq:latest /bin/bash -c \
"/opt/automq/kafka/bin/kafka-producer-perf-test.sh --topic test-topic --num-records=1024000 --throughput 5120 --record-size 1024 \
--producer-props bootstrap.servers=server1:9092 linger.ms=100 batch.size=524288 buffer.memory=134217728 max.request.size=67108864"

After testing, you can destroy the setup with:

docker compose -f docker-compose.yaml down

The docker/docker-compose-cluster.yaml file offers a more complex setup with three AutoMQ nodes, ideal for testing AutoMQ's cluster features, and can be run in the same way.

There are more deployment options available:

🗞️ Newest Feature - Table Topic

Table Topic is a new feature in AutoMQ that combines stream and table functionalities to unify streaming and data analysis. Currently, it supports Apache Iceberg and integrates with catalog services such as AWS Glue, HMS, and the Rest catalog. Additionally, it natively supports S3 tables, a new AWS product announced at the 2024 re:Invent. Learn more.

image

🔶 Why AutoMQ

AutoMQ is a stateless Kafka alternative that runs on S3 or any S3-compatible storage, such as MinIO. It is designed to address two major issues of Apache Kafka. First, Kafka clusters are difficult to scale out or in due to the stateful nature of its brokers. Data movement is required, and even reassigning partitions between brokers is a complex process. Second, hosting Kafka in the cloud can be prohibitively expensive. You face high costs for EBS storage, cross-AZ traffic, and significant over-provisioning due to Kafka's limited scalability.

Here are some key highlights of AutoMQ that make it an ideal choice to replace your Apache Kafka cluster, whether in the cloud or on-premise, as long as you have S3-compatible storage:

✨Architecture

AutoMQ is a fork of the open-source Apache Kafka. We've introduced a new storage engine based on object storage, transforming the classic shared-nothing architecture into a shared storage architecture.

image

Regarding the architecture of AutoMQ, it is fundamentally different from Kafka. The core difference lies in the storage layer of Apache Kafka and how we leverage object storage to achieve a stateless broker architecture. AutoMQ consists of below key components:

For more on AutoMQ's architecture, visit AutoMQ Architecture or explore the source code directly.

🌟 Stay Ahead

Star AutoMQ on GitHub for instant updates on new releases. star-automq

💬 Community

You can join the following groups or channels to discuss or ask questions about AutoMQ:

👥 How to contribute

If you've found a problem with AutoMQ, please open a GitHub Issues. To contribute to AutoMQ please see Code of Conduct and Contributing Guide. We have a list of good first issues that help you to get started, gain experience, and get familiar with our contribution process.

👍 AutoMQ Enterprise Edition

The enterprise edition of AutoMQ offers a robust, user-friendly control plane for seamless cluster management, with enhanced availability and observability over the open-source version. Additionally, we offer Kafka Linking for zero-downtime migration from any Kafka-compatible cluster to AutoMQ.

Contact us for more information about the AutoMQ enterprise edition, and we'll gladly assist with your free trial.

📜 License

AutoMQ is under the Apache 2.0 license. See the LICENSE file for details.

📝 Trademarks

Apache®, Apache Kafka®, Kafka®, Apache Iceberg®, Iceberg® and associated open source project names are trademarks of the Apache Software Foundation

automq (AutoMQ/automq)

Searching Database…

10.9K ·GitHub
这是什么?AutoMQ 是 Apache Kafka 的一个分支,采用无磁盘、无状态的设计,所有日志数据都存储在 S3 或兼容 S3 的对象存储中,而不是本地磁盘上,可将云成本降低至多 10 倍,并免去跨可用区(AZ)流量费用。
这是一个全新的消息队列,还是只是改过的 Kafka?它是开源 Apache Kafka 的一个分支,存储层被替换为基于 S3 的引擎,因此与现有 Kafka 客户端和工具 100% 保持线协议兼容。
我要如何在本地试用 AutoMQ?运行随附的 docker/docker-compose.yaml,即可启动以 MinIO 作为 S3 存储的单节点集群;若要三节点部署,则使用 docker-compose-cluster.yaml。两者都只需通过常规的 docker compose up/down 启动和停止。
运行之前需要先安装什么?Docker 20.x 或更高版本、Docker Compose v2,为 Docker 分配至少 4GB 内存,并确保端口 9092 和 9000 未被占用。
Docker Compose 快速入门可以用于生产环境吗?不可以。维护者明确表示,这个快速入门仅用于评估功能,不适用于生产环境;正式部署需要参考其生产最佳实践指南,或获取社区/企业支持。
什么是 Table Topic?Table Topic 让 AutoMQ 的主题同时充当 Apache Iceberg 表,将流处理与分析统一起来,支持 AWS Glue、HMS 和 REST 目录,并原生支持 S3 Tables。
它如何避免 AWS 的跨可用区流量费用?一个感知机架的路由器会向每个可用区的客户端提供特定的分区元数据,使它们通过对象存储交换数据,而不是跨可用区复制。跨可用区复制通常是 Kafka 云成本的主要来源。
与原版 Apache Kafka 相比,具体改动了什么?AutoMQ 用基于 S3 的引擎(S3Stream、WAL、LogCache/BlockCache)替换了本地磁盘日志存储,并新增内置的 Auto Balancer,将 Kafka 有状态、共享无物的 Broker 转变为无状态、基于 S3 的共享存储架构。
可以部署在 Kubernetes 上,还是只能用 Docker?除了 Docker Compose 快速入门外,README 还提供了相关指南链接,涵盖在普通 Linux 上部署多节点集群、在 Kubernetes 上部署,以及通过 AWS/阿里云市场试用。
Creator
AutoMQ
Size
170.6 MB
Stars
10.9K
Age
3y
Commits · 90 Days