-
Notifications
You must be signed in to change notification settings - Fork 231
Runs on Cloud
AutoMQ is a cloud-native reimagining of the Kafka release, making full use of cloud services such as EBS and S3. The following sections will introduce the support for AutoMQ across major cloud providers.
AutoMQ leverages EBS as Write-Ahead-Log (WAL) storage, accessing it as a raw device without the need to mount a file system. EBS is a core product of cloud providers and offers extremely high data durability, often utilizing triple replication or erasure coding for multiple replicas. Services like AWS Nitro and Alibaba Cloud ECS Bare Metal Instance use local hardware acceleration, and EBS server clusters leverage RDMA technology, making EBS latency comparable to local NVME SSD. Additionally, EBS uses dedicated network channels that do not consume the host machine’s network bandwidth. When used appropriately, EBS is highly cost-effective, such as AWS EBS GP3 at 10GB/3000IOPS/125MBps costing less than $1 per month.
Therefore, EBS is an excellent alternative to traditional data storage technologies for WAL.
AutoMQ accesses EBS using standard POSIX APIs, ensuring great compatibility with all mainstream cloud providers' EBS services.
AutoMQ accesses object storage services using the AWS S3 SDK. Most cloud providers support the standard S3 protocol, with the only exception being Azure. The AutoMQ team will soon release a separate adaptation for Azure, so stay tuned.
The Community Edition of AutoMQ uses the following AWS S3 SDK to access object storage.
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>s3</artifactId>
<version>2.20.127</version>
</dependency>
When accessing object storage, to ensure security, you can restrict access by setting minimal permissions. The configuration methods are similar across major cloud providers. Refer to Cluster Deployment on Linux▸ for detailed steps.
After creating a storage bucket, you can use the following commands to test if the object storage is compatible with AutoMQ.
bin/automq-kafka-admin.sh generate-s3-url \
--s3-access-key=xxx \
--s3-secret-key=yyy \
--s3-region=cn-northwest-1 \
--s3-endpoint=s3.cn-northwest-1.amazonaws.com.cn \
--s3-data-bucket=automq-test \
--s3-ops-bucket=automq-test
Cloud Providers |
EBS Compatibility |
Object Storage Compatibility |
Description |
---|---|---|---|
AWS |
Compatible |
Compatible |
- |
Azure |
Compatible |
Not Compatible |
Azure's object storage network protocol is entirely different from AWS S3, requiring separate adaptation. |
Google Cloud |
Compatible |
Not Compatible |
The deleteObjects and uploadPartCopy interfaces of Google Cloud are not compatible with AWS S3 and require separate adaptation. |
Alibaba Cloud |
Compatible |
Compatible |
- |
Oracle Cloud |
Compatible |
Compatible |
- |
DigitalOcean |
Compatible |
Compatible |
- |
Cloudflare |
Compatible |
Compatible |
- |
Tencent Cloud |
Compatible |
Compatible |
- |
Huawei Cloud |
Compatible |
Compatible |
- |
Baidu Cloud |
Compatible |
Compatible |
- |
Volcanic Cloud |
Compatible |
Pending Testing |
- |
China Mobile Cloud |
Compatible |
Pending Testing |
- |
Chinatelecom Cloud |
Compatible |
Pending Testing |
- |
Please refer to Cluster Deployment on Linux▸
- What is automq: Overview
- Difference with Apache Kafka
- Difference with WarpStream
- Difference with Tiered Storage
- Compatibility with Apache Kafka
- Licensing
- Deploy Locally
- Cluster Deployment on Linux
- Cluster Deployment on Kubernetes
- Example: Produce & Consume Message
- Example: Simple Benchmark
- Example: Partition Reassignment in Seconds
- Example: Self Balancing when Cluster Nodes Change
- Example: Continuous Data Self Balancing
-
S3stream shared streaming storage
-
Technical advantage
- Deployment: Overview
- Runs on Cloud
- Runs on CEPH
- Runs on CubeFS
- Runs on MinIO
- Runs on HDFS
- Configuration
-
Data analysis
-
Object storage
-
Kafka ui
-
Observability
-
Data integration