Skip to main content

依赖 Cloud Service 运行

AutoMQ 是基于云原生理念重新设计的 Kafka 发行版,充分利用了云服务,如 EBS 和 S3。下文将介绍 AutoMQ 在各大主要云厂商的支持情况。

依赖 EBS 服务

AutoMQ 使用 EBS 作为 Write-Ahead-Log(WAL) 存储,以裸设备方式访问,无需挂载文件系统。EBS 是云厂商的核心产品,具有极高的数据持久性,通常采用三副本技术或纠错码的多副本技术。像 AWS Nitro 和 Alibaba Cloud ECS Bare Metal Instance 这样的服务采用本地硬件加速,EBS 服务器集群还利用 RDMA 技术,使得 EBS 的延迟与本地 NVME SSD 相当。此外,EBS 还利用专用网络通道,不会占用宿主机的网络带宽。合理使用时,EBS 的成本非常低,比如 AWS EBS GP3 10GB/3000IOPS/125MBps 每月不到 1 美元。

因此,EBS 是传统数据存储技术中 WAL 的优秀替代方案。

AutoMQ 使用标准的 POSIX API 访问 EBS,因此在各云服务提供商具有很好的兼容性,能够支持所有主流云服务提供商的 EBS 服务。

依赖对象存储服务

AutoMQ 使用 AWS S3 SDK 访问对象存储服务,大多数云服务提供商都支持标准的 S3 协议,唯一的例外是 Azure。AutoMQ 团队会在近期为 Azure 进行单独适配,敬请期待。

AutoMQ 社区版使用以下 AWS S3 SDK 访问对象存储。


<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>s3</artifactId>
<version>2.20.127</version>
</dependency>

依赖访问控制策略

访问对象存储时,为了确保安全性,你可以通过设置最小权限集合来限制访问权限。各大云厂商的操作方式大同小异,具体设置方法可参考在 Linux 主机上以集群方式部署▸

测试对象存储兼容性

创建一个存储桶后,可以使用以下命令测试该对象存储是否与 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

云厂商支持列表

云厂商
EBS 兼容性
对象存储兼容性
说明
AWS
兼容
兼容
-
Azure
兼容
不兼容
Azure 的对象存储网络协议与 AWS S3 完全不同,需单独适配。
GCP
兼容
不兼容
GCP 的 deleteObjects 和 uploadPartCopy 两个接口与 AWS S3 不兼容,需单独适配。
Alibaba Cloud
兼容
兼容
-
Oracle Cloud
兼容
兼容
-
DigitalOcean
兼容
兼容
-
Cloudflare
兼容
兼容
-
腾讯云
兼容
兼容
-
华为云
兼容
兼容
-
百度云
兼容
兼容
-
火山引擎
兼容
待测试
-
移动云
兼容
待测试
-
天翼云
兼容
待测试
-

部署 AutoMQ

请参照在 Linux 主机上以集群方式部署▸