⇄ vs. AutoMQ

选 AutoMQ 之前,先看清它的代价
Amazon MSK:毫秒级写入 · 跨 3 AZ 复制

AWS 与 AutoMQ 是合作伙伴。本页只陈述有公开来源的事实:单副本 + WAL + S3 降了成本,代价落在写延迟、故障切换、版本跟进与锁定。

写入 ack 的 p99 延迟(对数刻度)AWS 东京区实测:MSK Standard / AutoMQ 商业版 / MSK Express 为同一测试(r4,2026-11-07:单分区 200 B、1k msg/s,三家同为 m7g.xlarge 级、各自调优后的最优配置);开源版另测,600+ 为官方原文 S2
1 ms10 ms100 ms1 sMSK Standard · 4.58 ms(实测,r4)AutoMQ 商业版 + FSx WAL · 7.83 ms(实测,r4)MSK Express · 7.96 ms(实测,r4)AutoMQ 开源版 · 399 ms(AWS 实测,按其推荐参数)AutoMQ 开源版 · 600+ ms(官方原文)
  • MSK Standard · 4.58 ms(实测,r4)
  • AutoMQ 商业版 + FSx WAL · 7.83 ms(实测,r4)
  • MSK Express · 7.96 ms(实测,r4)
  • AutoMQ 开源版 · 399 ms(AWS 实测,按其推荐参数)
  • AutoMQ 开源版 · 600+ ms(官方原文)
$0
MSK broker 间复制费 M1
600+ ms
AutoMQ 开源版写入 P99(官方对比表) S2
3.9
AutoMQ 内核版本,Apache 已归档 S5S6
RF=1
AutoMQ Kafka 层副本数,没有热备 S30
Before you choose

选型前,先问清四件事

AutoMQ 用「单副本 + WAL + 对象存储」换来了更低的存储与跨 AZ 成本。代价落在哪里,它自己的文档里都写着。

Amazon MSK · ack = 一轮跨 AZ 复制 ProducerLeaderAZ-a Follower · AZ-bFollower · AZ-c AutoMQ 开源版 · ack = 攒批 + S3 PUT Producer攒批250 ms / 8 MiB S3 PUTWAL 在对象存储 低延迟 WAL(EBS / FSx)只在商业版
写路径 · WAL

开源版写入要等 S3,P99 是数百毫秒

  • 开源版只有 S3 WAL

    官方对比表:开源版「P99 600+ milliseconds」;EBS / FSx 等低延迟 WAL 只在商业版 S1S2。

  • 自家基准 P99 823 ms

    1 GiB/s 基准 produce P99 823 ms、E2E P99 1,189 ms;默认攒批 250 ms / 8 MiB S23S12。

  • PoC 结论不能外推

    开源 PoC 测的是 S3 WAL,商业版生产跑 EBS / FSx WAL;FSx p99 12.87 ms 来自一次短测试 S21;AWS 同规格实测 200 B 单分区 p99 7.83 ms。

详见选型问题 #1 · #18 · #21 · #32
MSK · RF3 跨 3 AZ,热备随时接管 Broker · AZ-aleader 副本Broker · AZ-b同步副本Broker · AZ-c同步副本 AutoMQ · Kafka 层 RF=1,无热备 Broker唯一一份WALS3 换 broker = 重新打开分区:有秒级写停顿
单副本 · S3 依赖

Kafka 层只有一个副本,没有热备可切

  • 修过两类丢失 / 损坏缺陷

    2026 年已修 #3336 数据丢失、#3416 对象损坏;但修复「does not repair existing objects」S32S30。

  • 迁移 / 重启秒级写停顿

    分区迁移最大发送延迟 2.2 s S25;受控重启写延迟问题 #3669 仍 open S33;硬崩溃接管时间厂商未公开,AWS 实测商业版 kill -9 单 broker 停写 15–27 s。

  • S3 是写路径硬依赖

    官方原文:对象存储故障可「rendering AutoMQ services unavailable」;开源版只能用单 bucket S14。

详见选型问题 #2 · #4 · #8 · #9 · #15
Apache Kafka 主线 3.94.04.14.2 MSK:4.0 / 4.1(Express 4.2) AutoMQ 内核:3.9 3.9.x 已被 Apache 归档;迁移工具只进不出
内核 · 锁定 · 条款

内核停在 Kafka 3.9,迁移工具只进不出

  • 下个大版本仍是 3.9.2

    1.8 分支 version=3.9.2 S5;Apache 已把 3.9.x 归档 S6;4.x 内核 #2950 没有维护者给出日期 S7。

  • 只进不出、私有格式

    Kafka Linking 只能迁入 AutoMQ;S3 上是私有格式、不是 Kafka segment,迁出要全量复制 S11。

  • 默认条款禁止发布基准

    ToS 1.4(g) 禁止发布基准;1.4(l) 禁止 PHI / PCI / GLBA 数据;两份用户协议同时在线 S15S16。

详见选型问题 #3 · #12 · #13
安全模型 IAM 认证客户托管密钥PrivateLink MSK 原生;AutoMQ BYOC 文档未列 IAM、不支持 BYOK
身份 · 加密 · 网络

企业安全基线上,还有几块空白

  • 文档未列 IAM

    文档只列 SCRAM / PLAIN / mTLS,未列 AWS_MSK_IAM;Kafka Linking 不支持 MSK IAM S9S11。

  • 静态加密不支持 BYOK

    密钥由云厂商托管,「BYOK … not supported」,只支持 AWS,建好后不能再开 S10。

  • 两个「零」都有前提

    零跨 AZ 要 S3WAL、3 AZ 均衡、改 client.id 或配 CIDR S3;BYOC「零网络连接」与其出网文档矛盾 S19。

详见选型问题 #5 · #6 · #10 · #14

MSK 原生就有:毫秒级写入、RF3、IAM 与 CMK

所有 topic 默认毫秒级写入(实测 p99 4.58–17.6 ms:调优后 Standard 4.58 ms,m7g.xlarge;默认 in-flight 5 时 17.6 ms,m7g.large 实测);复制免费 M1;RF3 M20;IAM M16;CMK M23;PCI、HIPAA BAA M8。

Measured on AWS

我们自己测了:AutoMQ 开源版

同一个 Region、同样 3 个 AZ、同型号客户端、同一个压测程序和参数。数字直接取自原始结果文件。

我们在 AWS 东京区(ap-northeast-1)自己部署了 AutoMQ 1.7.4 开源版(当时最新 GA 版本),和之前 MSK 实测用的是同一个 Region、同样 3 个 AZ(apne1-az1 / az2 / az4)、同型号客户端(c7g.2xlarge)、同一个压测程序和同一组参数。开源版只有 S3 WAL,这是它唯一的写入路径。

一句话结论:默认客户端参数下,AutoMQ 开源版的单分区写入在每秒 1,000 条(200 B)时还勉强跟得上(in-flight 5,p99 504.1 ms),in-flight 1 或更高速率就跟不上,积压持续增长;改用 AutoMQ 自己基准里的参数(batch.size=1MiB、linger.ms=100)后能跟上,但 p99 仍是 399.2 ms;同规格调优轮(r4,batch 512 KiB · linger 5 · zstd · in-flight 5)吞吐可到 100k msg/s,但 p50 恒 ≈ 355–365 ms、1k p99 478.5 ms(测试记录 §11.9)。MSK Standard 同为 m7g.xlarge 级、调优后 1k p99 4.58 ms(m7g.large、in-flight 1 时 5.72 ms)。

9.1 默认客户端参数(与 MSK 实测完全相同)

负载 AutoMQ 开源版 p50 / p99 MSK Standard p50 / p99 AutoMQ 能否跟上设定速率 run
1,000 msg/s · linger 0 · in-flight 1 68 s / 112 s 3.28 ms / 5.72 ms 跟不上(积压增长);发送失败 0 实测
1,000 msg/s · linger 0 · in-flight 5 373.4 ms / 504.1 ms 11.5 ms / 17.6 ms 跟得上;发送失败 0 实测
1,000 msg/s · linger 5 · in-flight 1 68 s / 112 s 5.25 ms / 8.10 ms 跟不上(积压增长);发送失败 0 实测
1,000 msg/s · linger 5 · in-flight 5 367.4 ms / 497.0 ms 5.34 ms / 8.27 ms 跟得上;发送失败 0 实测
5,000 msg/s · linger 0 · in-flight 1 166 s / 207 s 3.27 ms / 5.31 ms 跟不上(积压增长);发送失败 201,594 实测
5,000 msg/s · linger 0 · in-flight 5 66 s / 110 s 11.6 ms / 16.9 ms 跟不上(积压增长);发送失败 0 实测
5,000 msg/s · linger 5 · in-flight 1 164 s / 207 s 5.04 ms / 7.93 ms 跟不上(积压增长);发送失败 195,050 实测
5,000 msg/s · linger 5 · in-flight 5 66 s / 110 s 5.05 ms / 7.98 ms 跟不上(积压增长);发送失败 0 实测
20,000 msg/s · linger 0 · in-flight 1 416 s / 766 s 3.56 ms / 15.4 ms 跟不上(积压增长);发送失败 861,281 实测
20,000 msg/s · linger 0 · in-flight 5 355 s / 588 s 11.9 ms / 17.0 ms 跟不上(积压增长);发送失败 0 实测
20,000 msg/s · linger 5 · in-flight 1 416 s / 786 s 4.50 ms / 7.34 ms 跟不上(积压增长);发送失败 864,685 实测
20,000 msg/s · linger 5 · in-flight 5 355 s / 588 s 4.47 ms / 6.55 ms 跟不上(积压增长);发送失败 0 实测

读法:「跟不上」= 实际发送速率低于设定速率,排队越积越长,延迟随测试时长线性增长;数字代表「这次 40 秒测试结束时有多糟」,不是稳态延迟。原因是机制性的:S3 WAL 每次写入要等攒批 + 一次 S3 PUT(数百毫秒),单分区吞吐上限 ≈ in-flight 数 × batch.size ÷ 单次写入耗时;默认 16 KiB 批、in-flight 5 时 r4 实测确认上限 1,460 msg/s(73 条 / 请求 × 20 请求 / s,200 B,测试记录 §11.2);调大批后吞吐上限显著提高,但延迟下限不变(见 9.2)。

9.2 按 AutoMQ 自己的推荐参数(batch.size=1MiB、linger.ms=100,公平对照)

负载 p50 p99 p99.9 run
1,000 msg/s × 200 B,1 分区 243.9 ms 399.2 ms 419.3 ms 实测
5,000 msg/s × 200 B,1 分区 244.8 ms 402.6 ms 424.2 ms 实测
20,000 msg/s × 200 B,1 分区 277.6 ms 3.26 s 3.48 s 实测
10 MiB/s × 1 KiB,1 分区 283.4 ms 448.2 ms 482.2 ms 实测
10 MiB/s × 1 KiB,12 分区 254.0 ms 419.6 ms 3.05 s 实测
端到端(生产→消费),1,000 msg/s 250.2 ms 406.1 ms 427.1 ms 实测

同规格调优轮(r4,2026-11-07,m7g.xlarge,batch 512 KiB · linger 5 · zstd level 1 · in-flight 5,200 B,单分区):1k / 10k / 50k / 100k msg/s 全部跟上,p50 / p99 分别为 351.5 / 478.5、354.5 / 484.5、357.5 / 486.5、362.5 / 496.5 ms;200k 过载(p99 2.9 s)⇒ 延迟下限 = S3 WAL 组提交间隔,客户端调不动(测试记录 §11.9)。

MSK 不需要 linger.ms=100:MSK Standard in-flight 1 · linger 0 时 p99 5.72 ms(默认 in-flight 5 时 17.6 ms,3 × m7g.large);同规格调优轮(r4,kafka.m7g.xlarge,batch 256 KiB · zstd · in-flight 1 · linger 0)1k p99 4.58 ms。开源版在 r4 用 batch 512 KiB · linger 5 · zstd · in-flight 5,1k p99 478.5 ms(测试记录 §11.9);它与上表 399.2 ms(linger 100)条件不同。

9.3 吞吐上限(单客户端,1 KiB,linger 10,batch 256 KiB,60 s)

acks AutoMQ 开源版 MSK Standard run
acks=all 60.1 MB/s 87.3 MB/s 实测
acks=1 547.3 MB/s 257.6 MB/s 实测

照实说:acks=1 时 AutoMQ 单客户端吞吐是 MSK 的 2 倍以上。同一集群上 acks=all 与 acks=1 相差约 9 倍,而 AutoMQ 只有一份数据(RF=1)——两种 acks 理论上应当等价。按请求耗时推算,acks=1 的应答早于一次 S3 WAL 写入的完成时间;AutoMQ 文档写的是「WAL 持久化后才返回」。原因本次未确认(两次运行的幂等设置也不同),建议客户在 PoC 中用 acks=1 + kill -9 + 消费端对账验证是否丢数据。

9.4 故障与运维事件(2,000 msg/s × 512 B,12 分区,acks=all,linger 5,逐秒时间线)

事件 AutoMQ 最坏一秒 p99 p99 > 1 s 的秒数 发送失败 MSK 对照(最坏一秒 p99) run
受控重启一台节点(SIGTERM,60 s 后启动) 3.36 s 8 秒 0 1.14 s(MSK 托管重启 broker;xlarge 另测(11-08,单分区三路审计流最坏一秒):Standard 1.10–2.24 s、Express 2.29–2.61 s,与 large 一致(测试记录 §12.3)) 实测
kill -9 一台节点(模拟崩溃,120 s 后启动) 12 s 9 秒 0 未测(MSK 未做硬崩溃测试;托管重启为 1.14 s) 实测
分区迁移(kafka-reassign-partitions) 2.40 s 1 秒 0 未测(MSK 迁移需要复制数据) 实测

照实说:kill -9 后约 12 秒内分区被其他节点接管,不需要等故障节点重启;Apache Kafka / MSK 对 broker 硬崩溃的检测同样受 broker session 超时(默认 9 秒)约束,本次没有对 MSK 做硬崩溃测试,这一项不构成 AutoMQ 的明显劣势。分区迁移的停顿与 AutoMQ 自己公布的「最大 2.2 s」一致。「发送失败 0」不等于「零丢失」:本次没有做消费端逐条对账。

9.5 复现方法

基础设施与驱动都在本项目的 lab 目录(Terraform + 同一个 Bench.java + 同一套参数);AutoMQ 节点用官方 GitHub 发布包 automq-1.7.4_kafka-3.9.1.tgz,S3 WAL 配置按官方文档,凭证用 EC2 实例角色(authType=instance)。测试结束后全部资源已删除。

Side by side

逐项对比

✓ 支持 · ⚠ 有前提或仅付费版 · ✗ 不支持。AutoMQ 占优的项目照实标出。

维度项目Amazon MSKAutoMQ
部署与交付交付模型 S19AWS 托管,ENI 接入客户 VPCBYOC:部署在客户账号,AutoMQ 远程运维
多云仅 AWSAWS / GCP / Azure / OCI,任意 S3 兼容存储
承诺折扣 M2无 RI / Savings PlansEC2 可用 RI / SP / Spot
延迟默认写 ack p99 实测S2实测 4.58 ms(调优,xlarge)/ 17.6 ms(默认,large)开源版「P99 600+ milliseconds」;商业版见下行
低延迟写入 S21S22三种形态、所有 topic 默认毫秒级仅商业版:FSx WAL p99 厂商 12.87 ms / AWS 实测 7.83 ms,需额外 FSx 费
冷读与写入隔离 S25Standard 写入超过卷吞吐基线时,冷读 + 重写入实测出现过 p99 42 s读 S3,与写路径隔离
可靠性Kafka 层副本 M20S30Express 固定 RF3 / minISR 2,跨 3 AZRF=1,没有热备
单 broker 切换 实测S25实测重启最坏一秒 p99 1.14 s、0 条失败(m7g.large)迁移最大发送延迟 2.2 s;硬崩溃接管未公开
对象存储故障 M7S14Standard 写确认不经 S3,tiered 异步上传S3 是写路径硬依赖;多 bucket 容灾仅商业版
SLA 纸面数字 M13S17Multi-AZ 99.9%,服务抵扣99.95%(文本 2023-12-16,只按 produce 定义)
扩缩不搬数据 M3S25Standard 要搬数据;Express「up to 20x faster」不搬数据,每次迁移有秒级写停顿
版本与兼容Kafka 内核版本 M11S5S64.0 / 4.1;Express 另支持 4.23.9.x,Apache 已归档
TV2 / ELR 实测S5升到 4.1 后自动 finalize3.9 内核不可用(推断)
KIP-932 共享组实测不可用不可用
安全与合规IAM 认证 + 授权 M16S9IAM 同时负责认证和授权文档未列 IAM / OAUTHBEARER
客户托管密钥 M23S10KMS,可指定 CMK不支持 BYOK,建好后不能改
PCI/HIPAA/FedRAMP M8S20PCI、HIPAA BAA、FedRAMP Moderate / HighSOC 2、ISO 27001、GDPR;FedRAMP「align with」
网络边界 M2S19流量留在 AWS 网络内,默认不出网控制台需出网;Ops Bucket 跨账号授权
成本broker 间复制费 M1S13$0无复制,改为 broker 与 S3 间流量
producer 跨 AZ 费 S3收费;无 key 可用 KIP-1123,有 key 无对等手段约 0:需 S3WAL、3 AZ 均衡、改 client.id
consumer 跨 AZ 费 M4S3follower fetching 降到约 0读本 AZ 只读副本,需 KIP-881
存储单价 M1S27EBS $0.10/GB-月每副本;tiered $0.06S3 $0.023 + 请求费 + 保留费
小规模请求费 M1S27不按请求计费约 10 MiB/s 时 S3 请求费 $395/月
迁移与生态迁出路径 M15S11M2Apache segment,MM2 / Replicator 可迁出自家工具只进不出;可用 MSK Replicator 全量迁出
跨产品迁入 M2S11Replicator 支持 AutoMQ 作源(SCRAM / mTLS)Kafka Linking 不支持 MSK IAM 源
入湖 M14S43Express Data Delivery:JSON、appendTable Topic:Upsert / CDC、Avro / Protobuf
跨 Region DR 实测M15S51Replicator 异步;实测同 Region 复制 p99 约 527 ms宣称 RPO = 0、RTO ≈ 10s,无独立验证

MSK 时延为 AWS 东京区实测;AutoMQ 一栏为厂商公开数字,条件不同不能直接横比;AWS 同规格实测三方对照见四方对比页(单分区 1k p99 Standard 4.58 / AutoMQ 7.83 / Express 7.96 ms)。partial = 有前提或需付费档。

Cost

「省 64%」是怎么算出来的

vs-msk 页的算术成立,但前提有偏:MSK 没开 follower fetching,AutoMQ 一侧是约 500 ms 的 S3 WAL。按公平基线重算,节省幅度收窄,分区少时甚至反转(推导,非报价)。

AutoMQ 便宜MSK 便宜
vs-msk 负载 · Std+FF
AutoMQ 省 47.5%
原口径 64%;consumer 跨 AZ 约为 0(推导) S26M4
vs-msk 负载 · Express+FF
AutoMQ 省 6.5%
优势全部来自跨 AZ 一项(推导) S26M4
计算器默认 · Express 6 台
AutoMQ 省 44%
按分区上限配齐 broker;AutoMQ 为 S3 WAL S27M12
计算器默认 · Std+tiered
AutoMQ 省 10%
约 10 MiB/s;AutoMQ 为 S3 WAL(~500ms) S27
计算器默认 · 分区≤1,000
MSK 省 16%
MSK Standard + tiered 更便宜 S27
Commercial edition

商业版:真实优势与七寸

上面拆的是开源版。商业版(BYOC / Software)补上了低延迟 WAL 等缺口:5 条优势如实承认;5 条七寸都附 AutoMQ 原文和可书面确认的问题。

商业版真实优势必须承认

低延迟与零跨 AZ 兼得

配置页:「Choose S3 WAL or NFS WAL」,NFS 即 EFS / FSx,producer 跨 AZ 费可为 0 C-S5。

MSK:producer 跨 AZ 费照收,没有对等物
高吞吐时 TCO 更低

AKU 预付价约为 PAYG 标价的 1/2.7–1/4.5(推导)C-S39C-S28;1 GiB/s 时「S3 WAL + AKU + 支持」总价约 $23,676/月,低于 MSK 无法消除的 producer 跨 AZ 费约 $35,040/月(推导)

MSK:没有 RI 或预付;10 MiB/s 小规模时 MSK 更便宜(推导);比较须放在同一延迟档位
Linking 字节级迁移

「Byte-to-byte replication … preserves partition offsets」C-S20,producer 滚动切换

MSK:MSK Replicator 同步 offset,但不是字节一致。没有完全对等物
FSx WAL p99 同一量级

公开 p99 为 12.87–17.50 ms C-S45C-S43C-S44;条件:64 KB、acks=1、厂商自测

MSK:同规格、同判据调优(AWS 实测):Standard p99 4.58 ms、Express 7.96 ms,AutoMQ FSx WAL 7.83 ms ⇒ 与 Express 持平;调优前一轮 Standard 默认 p99 17.6 ms 实测
多云与私有化部署

BYOC 支持 AWS / Azure / GCP / OCI / 阿里云,Software 可进私有数据中心 C-S1C-S3。

MSK:只在 AWS 上。无法反驳,也不硬拼

七寸按杀伤力 × 证据强度

K1
厂商访问面与 Air-Gapped

营销页「100% Air-Gapped」C-S35;ToS 要求授予「necessary access」C-S33;运维隧道默认开启 C-S11

请向 AutoMQ 确认:默认安装下,AutoMQ 在我们账号里能读、写、经隧道执行什么?请书面列出。
K2
多 AZ 低延迟靠共享文件系统

EBS WAL「single AZ」C-S7;FSx Multi-AZ 是「a single HA pair」,切换通常 <60 s,挂在这套 FSx 上的 broker 一起受影响 C-S53;EFS WAL 的 p99 未公开

请向 AutoMQ 确认:p99、零跨 AZ、多 AZ 容灾是同一集群配置吗?FSx 切换时 producer 停多久?
K3
无 BYOK/CMK、无 IAM

「BYOK … not supported」C-S8;认证仅 SCRAM / PLAIN / mTLS C-S9;跨 VPC 靠 peering/TGW C-S16

请向 AutoMQ 确认:KMS CMK、IAM 鉴权、PrivateLink、强制 SSO,今天能书面满足哪几项?
K4
档位天花板与报价外费用

PAYG「only the Pro tier」C-S22;文档写单分区 4 MBps 不可调、保留 ≤ 60 天 C-S4(BYOC 实测未见该写限制);24/7 支持最低 $1,000/月 C-S30

请向 AutoMQ 确认:请在同一报价上分列订阅、支持、WAL 存储、云资源;60 天、4 MBps 对我们是硬限制吗?
K5
生产低延迟没有公开证据

15 个有正文的案例无一给出延迟数字;「sub-10ms」头条只来自一次 35 分钟、64 KB 消息的联合基准 C-S45,FSxN 报告的条件为 acks=1 C-S43

请向 AutoMQ 确认:能否提供 AWS 上 BYOC、多 AZ 低延迟 WAL、交易类负载的参考客户及生产 p99?

一句话打法

商业版的低延迟来自客户账号里额外付费的一层 WAL 存储,「全托管」靠厂商运维通道和跨账号授权;建议同负载、同延迟目标、同安全基线,比总账和总风险。

8.1 商业版比开源版多了什么+

形态:BYOC「deploys the AutoMQ control plane and data plane in your cloud account」,由 AutoMQ 负责部署、升级、调参、监控和应急,控制台跑在客户账号里的一台 EC2 上;Software 是「Self-managed software」,可部署在「Private data center」,由客户自己运维,计费为「Annual subscription or perpetual license」,价格 not public C-S3C-S18。AutoMQ Cloud(SaaS,部署在厂商账号)在现行文档的版本选择表里没有出现,也找不到公开的购买入口 ⇒ 【解读】在 AWS 上,「AutoMQ Cloud 全托管」实际就是 BYOC。

档位(FAQ C-S29):Dev 20 MiB/s、2,000 分区、7 天、99.50%;Pro 1,024 MiB/s、20,000 分区、90 天、99.95%;Enterprise「Unlimited」、99.99%,可加专属支持工程师和 Multi-Region Cluster。⚠️ BYOC 限制页的数字比 FAQ 更紧,两者互相矛盾(见 K4)。

能力 档位 / 形态 额外成本 MSK 对应
EBS WAL(只覆盖单 AZ) BYOC、Software 每个 broker 一块小 gp3 卷 不需要(MSK 写路径是 3 AZ ISR)
EFS WAL(NFS WAL) 只有 BYOC(Software 只有 EBSWAL / S3WAL C-S18) EFS 存储 + 吞吐 不需要
FSx for ONTAP WAL(NFS WAL) 只有 BYOC;GA(2025-12) 384 MBps 一档约 $1,216/月起(us-east-1,推导) 不需要
零跨 AZ(ZeroZone),可与 NFS WAL 同时用 开源版(只有 S3 WAL)+ BYOC(S3 / NFS WAL) 低延迟版本要付 NFS WAL 的费用 producer 侧没有对等物;consumer 侧用 follower fetching
多指标持续自平衡 BYOC(开源版只看网络吞吐) 含在订阅里 Express Intelligent Rebalancing:免费,新集群默认开启 C-S61;Standard 没有内置自平衡
Kafka Linking(字节级迁移,offset 原样保留) BYOC 迁移期双集群费用自担 MSK Replicator(同步 offset,不是字节一致)C-S65
多 bucket 写入策略 商业版 第二个 bucket + 跨 Region 流量 没有对等物
Multi-Region Cluster(2–3 个 Region,RPO=0,RTO≈10 s) 只在 Enterprise 档;GA 状态 not public not public MSK Replicator 是异步复制,RPO > 0。MSK 没有同步方案
Table Topic(Kafka → Iceberg) 开源版和商业版都有 Catalog 和计算费用 MSK Streaming Tables / Data Delivery(2026-07-30 GA,只在 Express 上,功能更窄)C-S77
托管 Kafka Connect、独立 Schema Registry BYOC Connect 跑在客户自己的 EKS 上 MSK Connect、Glue Schema Registry
管理 UI、OpenAPI、Terraform、RBAC / SAML SSO BYOC(开源版写「None」) — 官方 Terraform / CFN / CDK、IAM、IAM Identity Center
静态加密 BYOC;只能用云厂商托管密钥、只在 AWS 上、只能在创建时开启 C-S8 — KMS 客户托管密钥(CMK)C-S63
托管滚动升级 BYOC(控制台升级由客户执行;Software 全部由客户执行);数据面在线升级 5.5.6 → 5.5.7 耗时 580 s,最大确认延迟 2.9 s,0 丢(AWS 实测,测试记录 §10.2) 支持范围不含「upgrade execution」 AWS 执行;Express「no maintenance windows」,但仍有单 broker 重启(§0 #4)
计费灵活:PAYG(经 Marketplace)、AKU 预付 1 / 12 / 24 / 36 个月、EC2 可用 RI / SP / Spot BYOC;PAYG 只在 AWS、只有 Pro 档 C-S22 — MSK 没有 RI 或预付
名义 SLA 99.95%(Enterprise 99.99% 只出现在 FAQ) BYOC — MSK Multi-AZ 99.9% C-S67
P1 / P2 由产品研发工程师直接响应 Production / Enterprise 支持档 Production 档最低 $1,000/月 C-S30 AWS Support(同样另外收费)
自动扩缩 BYOC:有定时弹性规则;按负载自动扩缩的机制没有文档 AKU 按小时峰值计费 C-S23 Express 由客户发起扩容;MSK Serverless 自动扩缩,但只支持 IAM、入口上限 200 MBps C-S82
Kubernetes 部署模式(EKS / GKE) BYOC;「requires a dedicated Kubernetes cluster」 C-S17 一套专用 EKS 集群 不需要:客户不运行 K8s

【解读:怎么读这张表】低延迟 WAL、自平衡、UI、IaC、托管升级、24/7 支持,大多是在补开源版的缺口;这些 MSK 作为一方托管服务本来就有,也不另按「企业版功能」收费。真正和 MSK 拉开差距的是:producer 零跨 AZ、高吞吐 TCO 与计费灵活、Kafka Linking、多云 / 私有化、Table Topic 的功能宽度,以及只有营销页的同步 Multi-Region。静态加密和身份安全几项比 MSK 弱。

8.2 必须承认的真实优势+

以下 5 条是事实,建议在客户面前主动讲,而不是等对方提出。

A1 · producer 侧跨 AZ 费可以降到 0,而且低延迟和零跨 AZ 可以同时拿到

  • 证据:新版 Broker 配置页原文「Choose S3 WAL or NFS WAL as the WAL type」C-S5;NFS WAL 指 EFS 和 FSx。EFS 从商业数据面 5.4.0 起也支持零跨 AZ。
  • MSK 的如实位置:broker 间复制不收费;consumer 侧开 follower fetching(client.rack)后跨 AZ 费可以降到约 0;producer 侧跨 AZ 费照收,MSK 没有对等物。KIP-1123 rack-aware partitioner 能消除无 key、未指定分区写入的跨 AZ 流量,但需要 4.4 客户端、默认关闭;有 key 的写入没有对等手段。
  • 前提(同样是事实):「only three-AZ deployments」;各 AZ 的客户端容量要均衡;客户端要配 client.id 或 automq.zone.cidr.blocks C-S5。

A2 · 高吞吐时 TCO 更低

  • 证据:AKU 预付价约为 PAYG 标价的 1/2.7 到 1/4.5;1 GiB/s 时,MSK 无法消除的 producer 跨 AZ 费约 $35,040/月,已经超过 AutoMQ「S3 WAL + AKU + 支持」方案的总价(约 $23,676/月,推导,见 §8.6)。
  • MSK 的如实位置:MSK 没有 RI 或预付;在约 1 GiB/s 这一档,AutoMQ 占优,必须承认。比较时要放在同一延迟档位(S3 WAL 约 500 ms,FSx / EFS 约 10 ms 档),并把订阅、支持、WAL、云资源四行都算进去。

A3 · Kafka Linking:字节级复制,offset 原样保留

  • 证据:「Byte-to-byte replication … preserves partition offsets」C-S20;producer 经代理滚动切换,迁移期不停写入。
  • MSK 的如实位置:MSK Replicator 同步 offset,但不是字节一致;MSK↔MSK 复制要求两个集群在同一账号 C-S65。没有完全对等物。
  • 前提:源集群版本 0.11–3.9;不支持 MSK IAM;sink 只能是 AutoMQ;迁移期要多留 50% 容量;客户端仍要重启 C-S20C-S21。AutoMQ 自己也提醒:「Flink jobs that restore offsets from checkpoints … must still verify that every saved offset is readable on the target」C-S20。

A4 · FSx WAL 的 p99 与 MSK Express 持平、比 Standard 高约 3 ms(同规格、各自调优)

  • 证据:200 B、1,000 msg/s、acks=all,单分区写入确认 p50 / p99 6.64 / 7.75 ms;24 分区 1k → 50k msg/s 阶梯 p99 7.6–15.9 ms;默认客户端(zone router 开)p99 13.75 ms,AWS 实测(AutoMQ 5.5.7,测试记录 §10.12、§10.3)。(厂商公布 p99 12.87 / 13.11 / 16.30 / 17.50 ms,约 51–64 KB 消息、acks=1、厂商自测 C-S45C-S43C-S44)
  • MSK 的如实位置:同一轮、同为 m7g.xlarge 级、客户端各自按同一判据调优(AWS 实测,测试记录 §11.9):1k msg/s 写入确认 p99 MSK Standard 4.58 ms、AutoMQ 商业版 FSx WAL 7.83 ms、MSK Express 7.96 ms ⇒ 不能说「AutoMQ 商业版慢」:它与 Express 持平,比 Standard 高约 3 ms。调优前一轮(MSK 为 *.m7g.large)Standard 默认 in-flight 5 时 p99 17.6 ms 实测,in-flight 1 时 5.72 ms 实测(与 §4.1 同一组数)。

A5 · 多云和私有化部署

  • 证据:BYOC 支持 AWS / Azure / GCP / OCI / 阿里云;Software 可以部署在私有数据中心 C-S1C-S3;另有多 bucket 冗余 C-S24 和名义上的 Multi-Region C-S37。
  • MSK 的如实位置:MSK 只在 AWS 上。无法反驳,也不和多云比;只帮客户确认「多云」是已立项、有预算的需求,还是一种偏好(各云能力并不一致,见 §8.4)。

其余也应如实承认的点

点 事实 MSK 的如实位置
持续多指标自平衡 默认开启,约 1 分钟收敛 C-S25 Express IR 基本持平(免费,扩缩容「within 30 minutes」);2025-11-20 之前建的 Express 集群默认是 Paused,要手动打开 C-S61;Standard 没有内置自平衡
Table Topic 功能更宽 Upsert / CDC、多种 Catalog C-S27 Streaming Tables 只在 Express 上,功能更窄 C-S77
EC2 可用 RI / SP / Spot AKU 有 1 / 12 / 24 / 36 个月合约 C-S39;Spot 在 K8s 模式可用,IaaS 模式能否用 Spot:not public(见 §8.4) MSK 不支持 Spot / RI / SP
研发工程师直接响应 P1 / P2 要买 Production 档以上支持 C-S31 AWS Support + 服务团队升级通道
研发活跃 2026-10-28 还在发版,有大公司的外部贡献者 C-S52 不要说「项目停滞」
经 Marketplace 采购适用 SCMP 没有基准发布限制条款,有 45 天数据取回期 C-S42 适用 AWS Customer Agreement
小而波动的负载 — MSK Serverless 是对等答案 C-S82;大而波动的负载,MSK 没有对等物
8.3 七寸+

按「影响面 × 证据强度」排序。每条都先给 AutoMQ 自己的原文,再给可以写进 PoC 的验证方法。

K1 · BYOC 的厂商访问面,与「100% Air-Gapped」的营销口径不一致

  • 是什么:托管运维一定需要一条厂商通道。BYOC 默认给出的是:① Ops Bucket 上的跨账号读权限,外加 s3:PutObject(用于下发许可证和版本信息);② 基于 ngrok 的 Ops Tunnel,默认开启;③ 控制台角色在 * 上有 iam:CreatePolicy / iam:AttachRolePolicy / iam:CreateRole,没有 Condition;s3:DeleteBucket 也作用于 *;④ ToS 1.5.2 要求客户通过 IAM 授予 AutoMQ「necessary access」;⑤ K8s 模式下要「granting AutoMQ service provider access to the cluster」C-S17。
  • AutoMQ 原文:
    • 营销页:「100% Air-Gapped」「There is no inbound or outbound traffic to external vendor services」「requires no VPC peering, PrivateLink, or cross-account traffic」C-S35;AI 介绍页:「Zero cross-account IAM access required」C-S36。产品页自己的架构图里也画了「Cross-Account Access」C-S35。
    • 文档:「AutoMQ enables Ops Tunnel by default」C-S11;Ops Bucket 授权含 s3:GetObject* 和 s3:PutObject C-S12;ClusterRoleManagementPermissions 的 Resource 是 * C-S14。
    • 合同:ToS 1.5.2「Customer must explicitly grant AutoMQ necessary access … through the cloud platform's Identity and Access Management (IAM) system」C-S33。
    • 对方的合理反驳(一起讲):隧道可以关,「can be re-enabled or temporarily enabled at any time」,会话可以审计 C-S11;有一个可选策略可以 Deny 读配置前缀,并把 s3:PutObject 限在两个前缀上 C-S12;从控制台 8.1.2 起可以自定义控制台 IAM 策略 C-S2;iam:PassRole 只限 EC2 服务;Ops Bucket「does not contain user business messages」(AutoMQ 运维授权文档)。⇒ 可以收紧,但默认状态和营销用语不一致。
  • 影响谁:有 InfoSec 评审的客户(几乎所有客户)。【解读】对数据处理政策严格的金融、医疗、公共部门客户,这一条可能在采购阶段就决定结果。
  • MSK 的做法:控制面在 AWS 一侧;客户 VPC 里只有 ENI;客户只需授权服务关联角色;没有第三方隧道,也不需要把日志共享给第三方。
  • 请向 AutoMQ 确认的问题:「请书面列出:在默认安装下,AutoMQ 的人员和系统在我们账号里能读什么、能写什么、能通过 ngrok 隧道执行什么,各由哪个法律实体、在哪个国家操作?ToS 1.5.2 要求我们通过 IAM 授权,那么『Air-Gapped』和『零跨账号访问』具体指什么?」
  • PoC 怎么验证:安装完成后执行 aws s3api get-bucket-policy --bucket <ops-bucket> 和 aws iam get-role-policy,导出全部策略;连续 24 小时开启 VPC Flow Logs 和 Route 53 Resolver 查询日志,统计出站域名(预期能看到 ngrok 相关域名);用 IAM Access Analyzer 或 PMapper 做一次提权路径分析。判据:存在任何默认开启的入站运维通道,或存在可以提权的策略组合。

K2 · 在 AWS 上,「低延迟 + 多 AZ + 零跨 AZ」靠的是客户账号里多一层有状态的共享文件系统

  • 是什么:AWS 上没有 Regional EBS。三种低延迟 WAL 各有取舍:EBS 只覆盖单 AZ,代价是耐久性;FSx 是整个集群共用的一个两 AZ HA 对,代价是可用性——每次切换都会影响挂在这套 FSx 上的所有 broker;EFS 的延迟和配额都没有公开数据。三者都需要客户账号里多一个有状态资源,由客户、AutoMQ 和 AWS 三方协同运维。
  • AutoMQ 原文:
    • 「EBS adopts a single AZ multi-copy architecture」C-S7;AWS 联合博客:EBS WAL「requires all AutoMQ nodes to be in the same Availability Zone」,「AWS doesn't offer a Multi-AZ shared block storage service」C-S45;gp3「Multi-attach Not supported」C-S59。
    • FSx(AWS 文档):「Multi-AZ deployments have a single HA pair」,切换「typically completes in less than 60 seconds」C-S53;打补丁时「may result in a brief (less than 60 seconds) I/O pause」,切走一次、切回一次 C-S54。
    • EFS:「will be the primary recommendation going forward」C-S36;但 EFS WAL 的 p50 / p99 not public(专门检索没有结果)。
    • 对方的合理反驳(一起讲):FSx 的 p99 与 MSK 默认参数同一量级(A4);AWS 写的是「may」,还写了「This maintenance has no impact for most workloads」C-S54;NFS 故障切换时 endpoint IP 不变,对客户端透明 C-S53;一个集群可以挂多套 FSx(但实测失去其中一套约 5 min 时停写 333–573 s,撤销后不自愈、须人工重启,2 / 2,AWS 实测(AutoMQ 5.5.7,测试记录 §10.23));中高吞吐时 FSx 的费用低于它省下的跨 AZ 费(§8.5)。
  • 影响谁:对延迟敏感、同时要求 3 AZ 容灾的负载,例如交易、订单、支付、事件驱动的微服务。
  • MSK 的做法:3 AZ、RF3、minISR 2,没有额外存储组件(Express:「replication is always set to 3 and the minimum in-sync replica is always set to 2」C-S76);broker 间复制不收费。打补丁时按 broker 逐台滚动重启——AWS 在东京区的 MSK 实测,单 broker 重启最坏一秒 p99:Standard 1.14 s、Express 1.34 s,0 条失败(3 × *.m7g.large;xlarge 另测(11-08,单分区三路审计流最坏一秒):Standard 1.10–2.24 s、Express 2.29–2.61 s,与 large 一致(测试记录 §12.3)) 实测(与 §0 #4 同一组数),这也是 MSK 必须承认的维护尖刺;但不存在「一个共享组件暂停、所有 broker 一起受影响」的结构。
  • 请向 AutoMQ 确认的问题:「你们给我们看的 p99、零跨 AZ 和多 AZ 容灾,是同一个集群配置吗?用的是哪种 WAL?如果是 EFS,是 Elastic 还是 Provisioned?一个集群挂几套 FSx?FSx 首选 AZ 网络中断约 60–80 s 时,我们实测全集群停写 120–146 s,这一问题的修复版本和处置方案是什么?」
  • AWS 实测结论(AutoMQ 5.5.7,测试记录 §10.5、§10.8、§10.9、§10.13、§10.23;acks=all,消息带序号):FSx HA 主备切换本身影响小——多分区最大确认延迟 ≤ 6.5 s,单分区 3–7 s,0 丢;风险在首选 AZ 网络故障与 NFS 中断——FSx 首选 AZ 网络分区约 60–80 s 时多分区全集群停写 120–146 s,单分区(delivery 120 s)249 s,生产者 delivery 设为 30 s 时 3 次中 2 次永久卡死;非首选 AZ 分区 22.7–30 s;broker ↔ FSx NFS 切断 120 s 停写 149 s,没有自动隔离(hard mount)。⇒ 停写时长约为 FSx 中断时长的 2 倍(推导),且波及整个集群;全部 run 0 丢 / 0 乱序 / 0 重复。双 FSx 回退:file_system_count 2 → 1 后一台 broker 崩溃循环、控制台任务无限挂起且不报错;唯一出路是删实例重建,消息数据随之丢弃(测试记录 §11.4–§11.5)。客户 PoC 可按同样方法复测。

K3 · 安全基线停在「Kafka 原生能力 + 云厂商默认配置」

  • 是什么:不支持 BYOK / CMK;没有 IAM 认证;文档里没有 PrivateLink;SSO 无法强制使用。BYOC 有三套互不打通的权限体系(控制台账号、Kafka SASL / mTLS + ACL、云资源 IAM),也就意味着三套审计。
  • AutoMQ 原文:
    • 加密:「BYOK (Bring Your Own Key) custom keys are not supported. The data encryption feature is only supported on AWS」;「Making changes to existing environment consoles or instances is not supported」C-S8。AutoMQ 自己的博客:「a hard BYOK requirement may mean the design needs exception handling … or a different deployment discussion」C-S47。
    • 认证:只有「SCRAM-SHA-256, SCRAM-SHA-512, PLAIN」以及 mTLS,没有 IAM C-S9。
    • 网络:跨 VPC 访问「by using VPC peering or AWS Transit Gateway」C-S16;控制台子网要经 NAT 出公网,EKS 部署「must configure a NAT gateway」C-S16。
    • SSO:「AutoMQ does not support the OIDC protocol」;「only supports … a single Enterprise IdP」;开启 SSO 后「the local user login method is still supported」;「does not support the SAML Session logout protocol」C-S10。
    • 对方的合理反驳:从 2023-01 起 S3 新对象默认就有 SSE-S3,数据本身是加密的;缺的是密钥归客户所有。底层的 EC2 和 S3 在 AWS 合规范围内。
  • 影响谁:金融、医疗、公共部门;已经用 IAM 统一 Kafka 鉴权的客户;安全基线写明「必须用 CMK」「必须走 PrivateLink」「必须强制 SSO」的客户。
  • MSK 的做法:建集群时可以指定 KMS key C-S63;支持 IAM 访问控制;multi-VPC private connectivity「powered by AWS PrivateLink」,支持跨账号 C-S64;人员身份用 IAM Identity Center。
  • 请向 AutoMQ 确认的问题:「我们的安全基线是 KMS 客户托管密钥、IAM 统一鉴权、PrivateLink 接入、OIDC 或强制 SSO。这四项 BYOC 今天能书面满足哪几项?满足不了的,路线图上是哪一天?」
  • PoC 怎么验证:aws s3api get-bucket-encryption 查看 KMS key 归谁;用 AWS_MSK_IAM 客户端连 AutoMQ,预期报 UnsupportedSaslMechanismException;开启 SSO 后再用本地账号登录一次,看能否进入。

K4 · 商业档位有天花板,报价单外还有几行费用

  • 是什么:Marketplace 按量付费(PAYG)只能买到 Pro 档;Enterprise 档的 99.99%、无上限、Multi-Region 都要走 AKU 预付或线下合同。BYOC 所在的 AutoMQ Cloud 文档限制页 C-S4,硬上限比 FAQ 更紧,两边互相矛盾;这些限制对某个具体 BYOC 环境是否适用,以书面答复为准(与 §0 #11 的范围说明一致)。支持费是一份单独的合同。
  • AutoMQ 原文:
    • 「As of August 2026, only the Pro tier is available」,且「available only for AWS environments」C-S22。
    • 限制页:单分区读写各 4 MBps,「Custom modifications are not supported」;Topic 的 retention.ms「1 hour to 60 days」(FAQ 却写 Pro 90 天、Enterprise「unlimited retention」);单实例「3AKU to 500AKU … Write Throughput: 60MBps~10000MBps」(FAQ 却写 Enterprise「Unlimited ingress」);offsets.retention.minutes 固定为 7 天,「Customization not supported」C-S4C-S29。
    • 支持:「$1,000 per month, minimum」;「Product subscription billed separately」C-S30。
    • AKU:每 AKU 还限「800 requests per second」,计费「An hourly cycle is used to record the peak value」C-S23。
    • 对方的合理反驳:多数限额写着「contact us」,可以申请上调(分区上限可以上调,所以 AKU 不算「硬」上限);AKU 价格远低于 PAYG 标价;AWS Support 同样按账单百分比另收——不能说「MSK 支持免费」。
  • 影响谁:有热点分区(单分区写入超过 4 MB/s)、长保留期(超过 60 天)、小集群(支持费最低额占比高)、流量尖峰明显(按小时峰值计费)、请求数高(小批量、linger.ms=0)的客户。
  • MSK 的做法:单分区吞吐实测主要受客户端 batch.size 与压缩约束,不在 broker:kafka.m7g.xlarge 默认 16 KiB 批确认 32,120/s,batch 256 KiB + zstd 后 200k msg/s × 200 B(p99 5.84 ms),AWS 实测 实测;MSK 文档未见「4 MBps、不可调」类固定单分区上限(Express 文档为每分区 15 MB/s);保留期由客户配置(Express 存储按量计费);broker 间复制和 Express 读出都不收费;SLA 按 MSK 集群的费用赔付 C-S67。
  • 请向 AutoMQ 确认的问题:「请在同一张书面报价上分四行列出:AutoMQ 订阅(AKU 数按我们的峰值读写、请求数和分区数分别算)、24/7 支持费、WAL 存储(EFS 或 FSx)、客户自付的云资源。限制页写着保留期 60 天、单分区 4 MBps,这两条对我们哪些 topic 是硬限制?」
  • PoC 怎么验证:从现网导出每个 topic 的单分区峰值写入速率和 retention.ms,统计超过 4 MB/s 和超过 60 天的 topic 数;用真实客户端配置压测,看请求数会让 AKU 数涨到多少(中档算例里,按请求数需要 13 个 AKU,按吞吐只需要 8 个,推导)。

K5 · 生产环境里没有低延迟的公开证据

  • 是什么:商业版公开的低延迟数字全部来自厂商自测基准;公开案例集中在日志、可观测性、入湖、CDC 这类延迟不敏感的负载。AWS 实测证实低延迟本身成立(200 B、acks=all 单分区 p99 7.75 ms,AWS 实测(AutoMQ 5.5.7,测试记录 §10.12)),但仍没有生产案例,尾延迟与故障行为要单独看(见下方实测结论与 K2)。
  • AutoMQ 原文 / 公开资料:
    • 15 个有正文的公开案例里,写明 BYOC 的 2 个,写明 WAL 类型的 2 个,给出延迟数字的 0 个;专门检索「BYOC customer case study latency P99 production」也没有结果。
    • sub-10ms 的头条来自一次 35 分钟的联合基准 C-S45;测试条件是 64 KB 消息,producer 和 consumer 的 client.id 都标成同一个 AZ(automq_az=us-east-1b),acks=1 C-S43。
    • AutoMQ 自己写:「Logs, metrics, and traces often tolerate a different latency envelope from transaction processing」C-S49。唯一的一手 BYOC 用户 Fresha 用的是 EFS WAL,没有公布延迟数字 C-S50。
    • 对方的合理反驳:「没有公开」不等于「做不到」。AWS 实测 FSx WAL 的 p99 与 MSK 同一量级(A4);acks=1 加 RF1 由 AutoMQ 的架构决定(副本由存储层承担),这一项本身合理。
  • 影响谁:交易类、事件驱动类负载;看重「sub-10ms」宣传的架构师。
  • MSK 的做法:用同样的负载在 MSK 上跑一遍,双方数据并排比较;AWS Service Terms 允许发布基准,条件是附上复现所需的信息。
  • 请向 AutoMQ 确认的问题:「能否提供一个可以通电话的参考客户:跑在 AWS 上、用 BYOC、用多 AZ 低延迟 WAL、负载是交易类,并给出生产环境 1 KB 以下小消息的 produce p99 和 p99.9?如果没有,我们按这个条件一起做 PoC。」
  • AWS 实测结论(AutoMQ 5.5.7,测试记录 §10.12、§10.3、§10.19、§10.9):200 B、acks=all,单分区 1k–20k msg/s p99 7.64–7.93 ms,50k msg/s 时 11.35 ms,100k 过载(以上为推荐客户端、默认 16 KiB 批;50k 是默认批的临界点、两轮不一致:§10.12 p99 11.35 ms 达标,r4 重建实例 42.75 ms 未达标;batch 256 KiB + zstd 后 200k msg/s p99 8.66 ms,1 h 浸泡 p99.99 33.75 / max 88.82 ms,测试记录 §11.9);多分区 p99 7.6–15.9 ms;单分区 4 h 浸泡(20k msg/s,2.88 亿条)p99 / p99.99 / max 为 7.87 / 32.65 / 235.6 ms,有 3 s 超过 100 ms;多分区 2 h 浸泡 p99.99 / max 55.85 / 238.7 ms ⇒ 小消息下 FSx 的 p99 低于厂商公布的 12.87 ms。仍需 PoC:24 小时并经过一次 FSx 维护窗口、EFS WAL(判据:EFS WAL 的 p99 超过 20 ms)。
8.4 其他真实问题+

按客户场景使用;只有当客户把对应能力当作选型理由时才需要展开。

场景 问题 事实 建议客户问 AutoMQ MSK 侧(如实)
客户把跨 Region RPO=0 当选型理由 Multi-Region 只有营销页 BYOC 文档(113 页)里没有这一页;页面上的「Read Documentation」链接指向文档首页 C-S37;只在 Enterprise 档;「The Only Multi-Region Kafka with RPO = 0」与 Redpanda 2026-08-11 宣布 Stretch Clusters GA、RPO=0 的说法冲突 C-S51;「eliminating expensive cross-region traffic」也不成立:第二个 Region 的 bucket 同样要写一份,跨 Region 字节照样计费(S3 跨 Region 传出 $0.02/GB 起 C-S75) 「Multi-Region 的文档、GA 日期、两个 Region 之间同步写的 produce p99、价格,以及一个公开客户,能书面提供吗?」 MSK Replicator 是异步复制,RPO > 0。如实承认,再讨论代价(延迟)与文档
客户看重 SLA 数字 SLA 赔付范围窄 正式文本只承诺 99.95%(「Last updated: December 16, 2023」);只有写入失败超过 1 分钟才算不可用;赔付基数是「Monthly Service Fee … for a single AutoMQ instance」,只赔代金券 C-S32;BYOC 下客户付给 AWS 的 EC2 / S3 / FSx 不在赔付基数里;扩容可用性划给客户:「Responsible (ensure cloud resource availability)」 「SLA 的赔付基数包不包括我们付给 AWS 的部分?读不可用算不算不可用?99.99% 写在哪份合同里?」 MSK SLA 也只给 Service Credit,并排除「caused by the underlying Apache Kafka … engine software」的故障 C-S67 ⇒ 不要说「MSK SLA 赔得更多」
客户以为「全托管」= 零运维 控制台是客户账号里的单台 EC2 + Docker 「upgrading the version only requires updating the Docker image」;「Do not delete or clear the host directory」C-S13;7.x→8.x「only AWS environments」C-S14;资源清单里的默认 AMI 是 Amazon Linux 2 C-S15,而 AL2 已于 2026-06-30 结束支持 C-S70。8.x Docker 化之后宿主机 OS 由谁选:not public 「控制台 EC2 宕机时,数据面、扩缩容、告警、运维隧道还能不能用?元数据目录谁来备份?宿主机 OS 谁来打补丁?」 控制面在 AWS 一侧,客户不需要运维
已在用 Kafka 4.x 客户端或 KIP-848 Kafka 3.9 天花板,升级节奏不透明 商业版兼容范围「8.3.1 | 1.0.0 ~ 5.5.x | 0.9.0.x ~ 3.9.x」,往前 4 个控制台版本都停在 3.9.x C-S2;Apache Kafka 4.0.0 已发布 19 个月,兼容性页仍写「It supports the latest updates to Apache Kafka versions within T+1 month」C-S79;release notes 全部没有日期,没有公开的版本 EOL 政策;7.x→8.x 升级要把环境信息发给 AutoMQ,由「AutoMQ technical personnel」生成升级命令 C-S14 「KIP-848 新消费组协议、Kafka 4.x 客户端什么时候能用?『T+1 month』从哪个版本开始算?请给出版本 EOL 表,以及大版本升级中需要厂商人工介入的步骤和排期。」 ⚠️ MSK 自己也把 3.9.x 标为「(Recommended)」;4.2 只在 Express 上 C-S66 ⇒ 只对已在用 4.x 或 KIP-848 的客户有影响
关心退出成本 Kafka Linking 只能迁入,不能迁出 「supports only AutoMQ instances as Sink Clusters」;「does not support MSK IAM Role authentication mode」C-S20;「reserve an additional 50% capacity」;「it is still necessary to restart the client application」C-S21;终止后数据取回期:官网 ToS 30 天、SCMP 45 天 「三年后要迁出,AutoMQ 提供什么工具?offset 怎么对齐?订阅或预付许可证到期后,集群是只读、停写还是有宽限期?bucket 里由商业数据面 5.x 写入的数据,能否直接用开源版读出?」(后两项 not public) 迁出可以用 MSK Replicator(支持自管 Kafka 作源)或 MM2,只是 offset 不是字节一致 ⇒ 不要说「迁进去就出不来」
受监管行业 / 政府 / 中国区 SOC 2 系统边界不公开;没有 GovCloud 和中国区 「A Type II report covering controls relevant to security, availability, and confidentiality」,没有写覆盖哪个系统 C-S34;报告要在 Trust Center 申请 C-S71;BYOC 支持的 30 个 AWS Region 里没有 us-gov-* 和 cn-* C-S4 「SOC 2 的 system description 覆盖运维通道和读取 Ops Bucket 的那个系统吗?诊断数据存放在哪个 Region?这些 Region 的交付形态是什么?」 MSK 合规页:「These include PCI and HIPAA BAA」C-S80;MSK 在 AWS FedRAMP 服务范围页上 C-S81;AWS SOC 报告可在 AWS Artifact 下载
客户把多云当选型理由 「多云同一套技术栈」,但各云能力不一致 NFS WAL(EFS / FSx)只在 AWS;Regional EBS WAL 只在 Azure / GCP / 阿里云;Software 只有 EBSWAL / S3WAL C-S18;PAYG、静态加密、控制台 7.x→8.x 升级都只支持 AWS C-S22C-S8C-S14;K8s 模式在各云允许的机型各只有几种 C-S17 「同一份延迟、加密和计费口径在每朵云上都成立吗?请按云列出 WAL 类型、p99、加密方式和计费方式。」 MSK 只在 AWS,不和多云比
流量波动大 / 想用 Spot 自动扩缩与 Spot 的机制和责任边界未写清 公开文档只有定时弹性规则,按负载自动扩缩的触发机制 not public;在线扩缩 3 ↔ 6 broker 最大确认延迟 0.1–0.3 s、0 丢,AWS 实测(AutoMQ 5.5.7,测试记录 §9.16、§10.9、§10.13))(厂商基准 0→1 GiB/s 扩容约 4 分钟);BYOC IaaS 模式没有 Spot 配置项(能否用 Spot:not public);FAQ 已改为「Teams should still set conservative Spot policies and validate availability targets」C-S29;SLA 把「ensure cloud resource availability」划给客户 C-S32 「扩容的触发指标是什么?AKU 额度不够或 EC2 没库存时会怎样?扩出来的容量怎么计费?Spot 回收导致容量不足,SLA 算谁的?」 MSK 不支持 Spot,如实承认;小而波动的负载可以介绍 MSK Serverless C-S82
依赖 IaC 交付 Terraform 尚未 1.0,只管已有环境 provider ~> 0.4.4;只能「manage resources in an existing AutoMQ BYOC environment」;需要控制台 8.3.6 / 8.3.8,而公开 release notes 最高只写到 8.3.1 C-S38C-S2 「环境本身怎么用 IaC 创建?provider 依赖的控制台版本何时公开?」 官方 Terraform / CFN / CDK
需要统一可观测 / 审计 客户自备监控栈;审计范围不清 支持 Prometheus Remote Write、CloudWatch、Datadog 等,但「does not offer managed Grafana dashboard services」;审计只找到 Ops Tunnel 会话审计,控制台操作审计的范围 not public 「控制台上的人员操作有没有审计日志?保留多久、能否导出?」 CloudWatch 指标、Open Monitoring(Prometheus)
经常扩缩或重平衡 扩缩时的迁移尖刺已降到亚秒级;自平衡迁移每 600 s 一次 0.97–1.87 s 在线扩缩 3 ↔ 6 broker 最大确认延迟 0.1–0.3 s,无零确认秒,0 丢,AWS 实测(AutoMQ 5.5.7,测试记录 §9.16、§10.9);5.5.6 时参与均衡的 topic 每次迁移约 1–1.5 s 单秒尖刺(测试记录 §9.16)(厂商基准「Maximum send latency of 2.2s」C-S26);慢节点隔离的检测机制 not public 「持续自平衡触发的迁移,producer 的 p99.9 和最大延迟是否与扩缩时一致?」 MSK 滚动重启同样有秒级尖刺(实测最坏一秒 p99:Standard 1.14 s、Express 1.34 s 实测),如实承认;Express 扩缩由 IR 搬迁;自平衡(auto balancer)照常运行时每 600 s 迁移 leader,单次停顿 0.97–1.87 s,5.5.7 仍存在,订单 topic 须排除,AWS 实测(测试记录 §6.9、§10.9)
8.5 低延迟 WAL 逐项对比+
维度 S3 WAL(对照) EBS WAL EFS WAL FSx for ONTAP WAL
可用性 开源版唯一选项;BYOC、Software 都有 BYOC、Software 只有 BYOC;文档没有标 preview 只有 BYOC;GA(2025-12)
produce p99(公开 / 实测) 823 ms(1 GiB/s 基准);开源对比表写「P99 600+ milliseconds」 not public(只公布均值「Less than 3ms」,场景是追读) not public(计算器上的「~10ms」只是档位标签) AWS 实测(200 B、acks=all):单分区 p99 7.75 ms(§10.12)/ 7.83 ms(r4 调优,1k)、1k–200k ≤ 9.10 ms,多分区 7.6–15.9 ms(AutoMQ 5.5.7,测试记录 §10.12、§10.3、§11.9)⇒ 小消息、中低速率下 p99 可低于 10 ms。(厂商公布 12.87 ms C-S45;13.11 ms(linger.ms=0)、16.30 ms(linger.ms=3)C-S43;17.50 ms C-S44,约 51–64 KB、acks=1)
介质延迟(AWS 文档) — — Regional 模式约 2.7 ms,注明「best-case performance under optimal conditions」C-S57 「sub-millisecond file operation latencies」C-S55
写入跨几个 AZ 多个(S3 Standard) 1 个 多个(Regional) 2 个(一个 HA 对)
耐久性(AWS 原文) 11 个 9 gp3「99.8% - 99.9% durability」;io2 99.999% C-S59。⚠️ AutoMQ 文档写「Between 5 nines and 9 nines」C-S7,写高了 跨「multiple geographically separated Availability Zones」冗余存储 同步复制到另一个 AZ 的 standby
整个 AZ 故障时 不受影响 该 AZ 内未上传的 WAL「stuck until the AZ recovers」(Fresha C-S50);RPO > 0,窗口大小 not public 其他 broker 挂载同一路径接着回放;按 AWS 的设计 RPO = 0;RTO not public 若故障的是 FSx 首选(active)AZ:以网络分区模拟约 60–80 s,多分区全集群停写 120–146 s,单分区 249 s;broker 下线叠加该 AZ 子网切断(AWS FIS 近似注入,11-08):三个 AZ 的生产者全停 369–376 s、每路 ≈ 30 万笔失败、0 丢(测试记录 §12.3);非首选 AZ 分区 22.7–30 s;FSx HA 主备切换本身最大确认延迟 ≤ 6.5 s,AWS 实测(AutoMQ 5.5.7,测试记录 §10.5、§10.8、§10.9、§10.13))(AWS 文档:切换「typically … less than 60 seconds」C-S53);同步复制,RPO = 0(实测 0 丢)
例行维护 — EBS 没有维护窗口 AWS 托管,没有公开的维护窗口 每「several weeks」打一次补丁,每 14 天内至少一个维护窗口;每次补丁可能带来两次不到 60 s 的 I/O 暂停 C-S54;调整吞吐也会触发一次切走和切回;经 AutoMQ 控制台换档(384 → 768)不原地改吞吐,而是新建一套 FSx 并两轮滚动重启,实测耗时 52.7–53.9 min,期间尖刺 ≤ 3.1 s(AWS 实测,AutoMQ 5.5.6 / 5.5.7,测试记录 §7.12、§10.9)
额外的 AWS 账单项 S3 请求费(比其他 WAL 高) 每个 broker 一块小 gp3 卷 EFS 存储 + Provisioned 吞吐(或 Elastic 模式按写入字节计费) 吞吐容量 + SSD 容量 + 超出免费额度的 IOPS
零跨 AZ 是否成立 ✅ ❌(不在零跨 AZ 支持的 WAL 列表里) ✅(前提是 broker 挂本 AZ 的挂载点;从其他 AZ 访问挂载点收 $0.01/GB) ✅(2022-02-23 之后创建的 Multi-AZ 文件系统跨 AZ 访问不收费);不在 active 所在 AZ 的 broker 写 WAL 要多跨一个 AZ
建好后能否换 WAL 类型 没有文档说可以;唯一公开证据是 Fresha 的原话「would require yet another migration」C-S50 ⇒ 无法核实,放进 PoC 同左 同左;控制台 8.3.1 起只能调吞吐规格 同左
MSK 的对应物 不需要 不需要(写路径是 broker 本地存储 + 3 AZ ISR) 不需要 不需要

【解读】三种低延迟 WAL 的风险各不相同:EBS 的问题是数据会不会丢(耐久性);FSx 的问题是停多久、多久停一次、一停影响多大范围(共享组件的可用性;实测切换本身 ≤ 6.5 s,首选 AZ 网络故障时全集群停写 120–146 s,见 K2);EFS 的问题是够不够快、吞吐和 IOPS 上不上得去(延迟和配额)。MSK 用同一套 ISR 机制同时覆盖这三方面。

额外成本 vs 它省掉的 producer 跨 AZ 费(us-east-1 公开价 C-S56C-S58,推导)

单价:FSx ONTAP Multi-AZ 第二代吞吐容量 $2.500/MBps-月,SSD $0.250/GB-月;EFS Provisioned 吞吐 $6.00/MiBps-月,Elastic 模式写入 $0.06/GB;同 Region 跨 AZ 每个方向 $0.01/GB。假设 3 AZ 均衡,不开零跨 AZ 时 2/3 的 produce 流量跨 AZ,每月 730 小时 ⇒ producer 跨 AZ 费约 $34.22 / MiB/s-月。

平均写入 省掉的 producer 跨 AZ 费/月 FSx(第二代 Multi-AZ,1,024 GiB SSD) EFS Provisioned EFS Elastic
10 MiB/s $342 384 档:$1,216(比它省掉的钱还多) $60(计算器实际配置 58 MiB/s,即 $348) $1,540
100 MiB/s $3,422 384 档:$1,216 $600 $15,398
600 MiB/s $20,531 1,536 档:$4,096 $3,600(注意单个文件系统 25,000 写 IOPS 上限) $92,391
1 GiB/s $35,040 2 套 1,536 档:$8,192 $6,144 $157,680

推导举例:384 档 = 384 × $2.5 + 1,024 × $0.25 = $1,216。AutoMQ 博客说 1 GBps 场景 FSx「adds approximately USD 8,000」,与 2 × 1,536 档的 $8,192 吻合。

读法与必须承认的点:

  1. FSx:盈亏点约为 producer 写入 36 MiB/s;如果 consumer 侧跨 AZ 费也一并省掉,约 18 MiB/s。低于这个量,FSx 的固定月费比它省下的跨 AZ 费更贵 ⇒ 只有在小集群上才可以说「FSx 不划算」;中高吞吐时 FSx 和 EFS Provisioned 都低于它们省掉的跨 AZ 费。
  2. EFS Elastic:每 MiB/s-月约 $154.0,是它省下的跨 AZ 费的 4.5 倍;AutoMQ 自己估算的「EFS (as WAL) … ~$15,500」(@100 MB/s)就是这个口径 C-S46。
  3. EFS Provisioned:每 MiB/s-月 $6,远低于 $34.22。⇒ 成本不是 EFS 的弱点;EFS 的问题在于延迟没有公开数据、单客户端 500 MiBps 上限、单个文件系统 25,000 写 IOPS 上限,以及切换吞吐模式后 24 小时内不能再改 C-S57。
  4. FSx WAL 的 p99(200 B、acks=all,同规格、各自调优,r4)为 7.83 ms,与 MSK Express 7.96 ms 持平,高于 MSK Standard 4.58 ms(AWS 实测,AutoMQ 5.5.7,测试记录 §11.9);多分区 7.6–15.9 ms(测试记录 §10.3)。调优前一轮 MSK Standard(m7g.large)默认 in-flight 5 时 17.6 ms 实测、in-flight 1 时 5.72 ms 实测。(厂商公布 12.87 ms)
  5. EBS WAL 的均值延迟很可能低于 MSK(「Less than 3ms」),成本几乎为 0;负载只在单 AZ、对延迟极敏感、又能接受单 AZ 风险时,EBS WAL 确实有竞争力。
  6. 按 AutoMQ 计算器(Provisioned 计法),约 10 MiB/s 的默认负载下,EFS WAL 档($1,633)比 S3 WAL 档($1,664)还便宜,因为 S3 请求费从 $395 降到了 $16 C-S28。

PoC 判据(交给 SA)

优先级 测什么 怎么测 判据(满足即说明问题成立)
P0 FSx 切换期间 produce 停了多久 BYOC + FSx WAL,3 AZ,50 MiB/s,acks=all,消息带序号;在 FSx 上修改吞吐容量触发切换 任一 producer 连续写失败或写延迟超过 5 s;或所有 broker 同时出现延迟尖刺。AWS 实测:FSx HA 切换最大确认 ≤ 6.5 s(未触发);FSx 首选 AZ 网络分区时全集群停写 120–146 s(触发)(AutoMQ 5.5.7,测试记录 §10.5、§10.9)
P0 同负载下的 p50 / p99 / p99.9 200 B 和 1 KB;EFS WAL、FSx WAL、MSK 三套同时跑 EFS 的 p99 超过 20 ms;或小消息下 FSx 的 p99 明显高于 12.87 ms。AWS 实测(1 KiB × 5k msg/s:p50 6.39 / p99 11.65 ms,测试记录 §10.11):200 B 下 FSx p99 单分区 7.75 ms、多分区 7.6–15.9 ms(未触发)(AutoMQ 5.5.7,测试记录 §10.12、§10.3);1 KB 与 EFS 未测
P0 EBS WAL 隔离一个 AZ 用 NACL 把一个 AZ 的 broker 子网隔离 15 分钟 恢复后序号有缺口(丢数据),或某些分区超过 60 s 不可写
P1 FSx 写吞吐能否长期达标 384 档持续写 150 MiB/s,跑 24 小时,期间经过一次维护窗口。AWS 原文「Generally … up to a third of the provisioned throughput capacity for writes」C-S55,只作判据,不作结论 吞吐达不到标称值,或 p99 随时间变差。AWS 实测(短时阶梯):384 档可用写吞吐约 170–200 MiB/s,250 MiB/s 时 p99 154.5 ms;768 档 300 MiB/s 时 p99 22.6 ms(AutoMQ 5.5.6 / 5.5.7,测试记录 §6.6、§6.14、§10.3);24 小时长跑未测
P1 实际跨 AZ 字节数 VPC Flow Logs 按 AZ 统计 broker 到 FSx / EFS ENI 的流量 broker 访问了其他 AZ 的 EFS 挂载点(产生 $0.01/GB)
P2 WAL 类型能否更改 在控制台上尝试,同时书面询问厂商 必须重建集群并再迁移一次
P2 控制台故障影响什么 停掉控制台 EC2 30 分钟 扩缩容、告警或运维隧道失效(目前 not public)
8.6 定价与合同要点+

费用构成

费用项 收费方 是否计入 AutoMQ 计算器 证据
订阅:PAYG AutoMQ,经 AWS Marketplace 收取 ✅ Data Ingress $0.02→$0.008/GiB,Egress $0.0067→$0.00275/GiB,Retention $0.01→$0.005/GiB-月,阶梯自动打折;Cluster Uptime $0.411/h;按压缩后字节计量 C-S28。Marketplace 上只有一个计价维度:「Each unit is 1 cent of usage」C-S41
订阅:AKU 预付 AutoMQ ❌(计算器给的是 PAYG 价) 「Each AKU provides 30 MiB/s write throughput or 60MiB/s read throughput … $146.00」C-S39;写 AKU 和读 AKU 相加;每 AKU 还限 800 req/s 和 1,125 个分区,按小时峰值计费 C-S23;1 / 12 / 24 / 36 个月合约,长约单价 not public
EC2、EBS、S3 存储与请求 AWS(客户账号) ✅ —
EFS / FSx WAL AWS ✅(EFS 按 Provisioned 计;FSx 按固定档计,最低一档 $1,228.56/月) 计算器 C-S28;单价 C-S56C-S58
控制台 EC2、第二个(运维)bucket、NAT、VPC Endpoint、CloudWatch AWS ❌ 「At least 1 VM is consumed to deploy the management interface」;「Two buckets per environment」
AutoMQ 支持费 AutoMQ ❌ Production 档「$1,000 per month, minimum」,月账单首 $50K 按 10%、次 $50K 按 8%、再往上 $900K 按 6%、超过 $1M 的部分按 3%;「Product subscription billed separately」C-S30
AWS Support 随之上涨的部分 AWS ❌ BYOC 下的 EC2 / S3 / FSx 都计入 AWS 账单,AWS Support 按账单百分比收费 ⇒ BYOC 客户要付两份支持费
producer / consumer 跨 AZ AWS 计为 $0 前提是零跨 AZ 生效:3 AZ、各 AZ 客户端均衡、客户端配置正确

三档 TCO(USD/月,推导,不是报价)

统一假设:us-east-1,每月 730 小时,On-Demand 标价;3 AZ;扇出 2(读 = 2 × 写);保留 72 小时;峰值 = 平均值。MSK 两边都开 follower fetching;producer 跨 AZ 费 = 2/3 × 写入量 × $0.02/GiB C-S68。AutoMQ 一侧直接用 AutoMQ 官网计算器 2026-10-29 的结果,未作改动 C-S28,不含上表标 ❌ 的项。每月 GiB 数:小档 25,664,中档 256,641,大档 2,628,000。MSK 配置:小档 3 × express.m7g.large 或 3 × kafka.m7g.large;中档 3 × express.m7g.2xlarge 或 6 × kafka.m7g.2xlarge;大档 3 × express.m7g.16xlarge 或 12 × kafka.m7g.4xlarge(按分区数和吞吐护栏配齐)。

方案 小 10 MiB/s 中 100 MiB/s 大 1 GiB/s 推导 / 构成
MSK Standard + tiered + FF ≈ $1,020 ≈ $9,306 ≈ $73,372 中档:broker $3,574 + 本地 EBS $791 + tiered $1,519 + producer 跨 AZ $3,422(256,641 × 2/3 × $0.02)。大档另加预置存储吞吐 $384
MSK Express + FF ≈ $1,745 ≈ $12,094 ≈ $115,833 中档:broker $3,574 + 写入费 $2,566 + 存储 $2,531 + producer 跨 AZ $3,422
AutoMQ S3 WAL(约 500 ms) $1,724 $9,007 $58,914 计算器原值(中档:AWS 部分 $1,530 + AutoMQ $7,477)
AutoMQ EBS WAL(约 10 ms,只覆盖单 AZ) $1,351 $8,434 $55,697 计算器原值
AutoMQ EFS WAL(约 10 ms,多 AZ) $1,544 $10,027 $72,160 计算器原值(Provisioned 模式)
AutoMQ FSxN WAL(约 10 ms,多 AZ) $2,575 $9,707 $64,546 计算器原值
+ AutoMQ Production 支持费(按 PAYG 费计) +$1,000 +$1,000 +$4,648 max($1,000, 10% × AutoMQ 费);三档 AutoMQ 费分别是 $1,182、$7,477、$46,479
AutoMQ S3 WAL,按 AKU 价 + 支持 $1,980 $4,428 $23,676 大档:AWS $12,434 + 70 AKU × $146 = $10,220 + 支持 $1,022
AutoMQ FSxN WAL,按 AKU 价 + 支持 $2,830 $5,128 $29,309 中档:AWS $2,230 + 13 AKU × $146 = $1,898 + 支持 $1,000
对比(推导) 小 中 大
AutoMQ FSxN(PAYG + 支持)vs MSK Express(两边都是低延迟、多 AZ) AutoMQ 贵 105% AutoMQ 便宜 11% AutoMQ 便宜 40%
AutoMQ S3 WAL(PAYG + 支持)vs MSK Standard + tiered AutoMQ 贵 167% AutoMQ 贵 8% AutoMQ 便宜 13%
AutoMQ FSxN(AKU + 支持)vs MSK Standard + tiered AutoMQ 贵 177% AutoMQ 便宜 45% AutoMQ 便宜 60%

读法:

  1. 小规模(约 10 MiB/s)MSK 全面占优,用 AutoMQ 自己计算器的数字也是如此。原因是 AutoMQ 有几项固定成本:Cluster Uptime 约 $300/月、FSxN 最低一档约 $1,229/月、Production 支持最低 $1,000/月。
  2. 中规模(约 100 MiB/s)胜负看计价模式:按 PAYG 标价两边基本持平(相差 ±10% 以内);按 AKU 价,AutoMQ 便宜约一半 ⇒ 比的是报价模式和延迟档位,不是架构。
  3. 大规模(约 1 GiB/s)AutoMQ 占优,必须承认。 应对方法不是否认,而是放在同一张表上比:延迟档位(S3 WAL 约 500 ms)、单 AZ 风险(EBS WAL)、共享 HA 对(FSx)、安全基线和条款,再加上 MSK 侧的降本手段(压缩;KIP-1123 rack-aware partitioner,见 A1)。
  4. ⚠️ 不要拿官网计算器上的 PAYG 总价去说「AutoMQ 其实不便宜」:PAYG 标价是 AKU 价的 2.7–4.5 倍,一定会被 AKU 价或 Private Offer 反驳。要按对方的书面报价比。
  5. 【解读】流量有尖峰时,MSK Provisioned 和 AutoMQ AKU 都要按峰值配置容量,AutoMQ PAYG 则按实际字节计费 ⇒ 尖峰型负载对 AutoMQ PAYG 有利。

合同:两条采购路径适用不同条款

条款 官网 ToS(2025-12)C-S33 Marketplace EULA = SCMP(2023-11-07)C-S42 MSK
发布基准 1.4(g) 禁止「publish benchmarks」 没有限制条款 AWS Service Terms 允许,条件是附上复现信息
受监管数据 1.4(l) Prohibited Data 包括 PHI / PCI / GLBA 数据 只禁止「High Risk Activities」 PCI、HIPAA BAA C-S80、FedRAMP C-S81
总责任上限 「TOTAL CASH PROCEEDS ACTUALLY RECEIVED」,没有时间窗口 前 12 个月已付和应付的费用;SaaS 安全事件上限是 3 倍 —
调价 6.3「may be modified by AutoMQ from time to time」;另有一条规定条款修改「upon renewal」才生效 合约期内价格锁定 按 AWS 定价页
BYOC 客户义务 1.5.2 通过 IAM 授权;1.5.3 客户对自己云资源导致的中断负责;1.5.4 改硬件、网络或 OS 要提前 48 小时书面通知 没有对应条款 补丁和升级由 AWS 执行
终止后取回数据 30 天 45 天 —

⇒ 对客户的正确问法:「你们走 Marketplace 采购,适用的是 SCMP 还是官网 ToS?请法务书面确认以哪份为准。」⚠️ 「AutoMQ 合同禁止发布基准」「商业版 PoC 结果不能对外发」只对签了官网 ToS 的客户成立,不能一概而论。

SLA C-S32:正式文本只有 99.95%,「Last updated: December 16, 2023」;只有写入失败持续 1 分钟以上才算不可用;赔付基数只算付给 AutoMQ 的费用,且「limited to vouchers」;BYOC 下云资源可用性由客户共同负责(「Responsible (ensure cloud resource availability)」)。推导:大档 S3 WAL 总成本 $58,914,其中付给 AutoMQ 的是 $46,479;即使最差一档全额赔付,也只能拿到 $46,479 的代金券,付给 AWS 的 $12,434 不赔,业务损失更不赔。MSK SLA 同样只给 Service Credit C-S67。

支持 C-S30C-S31:

档位 价格 P1 首次人工响应
Free $0,不含技术支持 —
Dev 「5% of monthly charges, with a $29 minimum」 8 个支持时段小时
Production 最低 $1,000/月,按阶梯比例收取 1 小时,24/7
Enterprise Custom pricing 30 分钟,24/7
  • ⚠️ 文档口径不一致:BYOC 介绍页写「The AutoMQ team provides 24/7 operations support」C-S3,支持页却写 Free 档「Not included」;FAQ 写 Pro「3-hour」、Enterprise「1-hour」C-S29,支持页写的是 1 小时和 30 分钟 C-S30 ⇒ 以书面报价为准。
  • 支持范围排除「migration implementation, … capacity planning, performance testing, … upgrade execution」,也排除「issues caused by … cloud infrastructure, networks, Kubernetes, object storage」C-S31;「Initial response targets are not service restoration or resolution targets.」
  • MSK 一侧:AWS Business Support+ 起价 $29/月、Enterprise Support 起价 $5K/月,都按账单百分比收 C-S69;「Business-critical system down」首次响应:Business Support+「Less than 30 minutes」、Enterprise Support「Less than 15 minutes」C-S78。区别在于:AWS Support 是客户已经有的合同,AutoMQ 支持是一份新增的合同,而且有最低额。

其他商务点:

  • Marketplace 上的预付许可证商品:「All fees are non-cancellable and non-refundable except as required by law」C-S40。
  • 预付许可证到期后集群会怎样(只读?停写?宽限期?):not public。
  • 试用期有 14 天、2 周、30 天三种说法。
  • Marketplace 购买可计入 EDP 承诺额(以客户的 EDP 条款为准);Marketplace 只负责计费,激活(AKU 购买后要找 AutoMQ 拿 product key)、部署、支持都走 AutoMQ 自己的渠道 C-S23。

截至 2026-10-29 仍为 not public(不能当结论用):Multi-Region 的 GA 状态、延迟和价格;EFS WAL 的任何延迟实测;控制台 EC2 宕机会影响什么;WAL 类型能否更改;慢节点隔离的检测指标;SOC 2 的系统边界;Software 版价格;AKU 长约单价;预付许可证到期后集群的行为;Kafka 4.x 支持时间表;SaaS 是否在售;按负载自动扩缩的触发机制;BYOC IaaS 模式能否用 Spot;版本 EOL 表与各版本发布日期;商业数据面写入的 bucket 能否被开源版直接读取;控制台操作审计的范围。

Honest fit

怎么选

两种架构各有适合的负载。下面是诚实的划分。

Amazon MSK 更合适

  • ack 在请求路径上,p99 要几十毫秒以内(支付、订单、风控、Outbox)
  • 需要 Kafka 4.x 能力(KIP-848、TV2、ELR)或 Strimzi 1.x
  • 现网用 AWS_MSK_IAM,或要求 IAM policy 级授权、KMS CMK
  • 受监管:PCI、HIPAA BAA、FedRAMP,或部署在 GovCloud
  • 不想锁定在私有存储格式和只进不出的迁移工具上

AutoMQ 可能更合适

  • 高吞吐、小扇出、长保留,能接受数百毫秒写延迟(日志、埋点、CDC 入湖)
  • 必须多云(AWS / GCP / Azure / OCI)或私有 S3 兼容存储
  • 想用 Spot / RI / Savings Plans 压计算成本
  • 入湖要 Upsert/CDC、Avro/Protobuf、非 S3 Tables Catalog
The full list

选型前要问清的 21 件事

按「对典型客户的影响 × 依据强度」排序。每一条都给出机制、原文出处、影响谁,以及你可以在 PoC 里自己验证的方法。

AWS 与 AutoMQ 是合作伙伴(AWS Storage Blog 联合文章 S21、AWS Marketplace 上架 S46)。本节只陈述有公开来源的事实,给出原文引文与来源,并列出客户在选型前应当向 AutoMQ 确认的问题。

排名 不足 适用的 AutoMQ 形态 影响 依据强度
1 开源版只有 S3 WAL,官方写写入 P99「600+ milliseconds」;低延迟 WAL 全部闭源 开源版 高 官方原文
2 自研存储引擎 2026 年修过两类数据丢失 / 损坏缺陷,修复不会修复已经损坏的对象;#3686 里维护者给的恢复方案是删除过期段中的 offset / 消费组元数据 全部 高 官方原文
3 内核停在 Kafka 3.9:下一个大版本的 1.8 分支仍是 3.9.2,Apache 已把 3.9.x 归档,与文档写的「T+1 month」不符 全部 中–高 官方原文
4 Kafka 层单副本(RF=1)、没有热备:受控重启有秒级写停顿;商业版 FSx WAL 实测 kill -9 单 broker 停写 15–27 s 全部 高 官方原文 + AWS 实测
5 认证文档没有列 IAM / OAUTHBEARER;Kafka Linking 不支持 MSK IAM BYOC(文档) 中 官方原文
6 静态加密不支持 BYOK,只支持 AWS,建好后不能再开 BYOC(文档) 中(受监管行业为高) 官方原文
7 小规模时,S3 请求费抵掉了它省下的 producer 跨 AZ 费(用 AutoMQ 自己计算器的数字) S3 WAL 中 按官方计算器推算
8 S3 是写路径的硬依赖;开源版只能用单 bucket,多 bucket 只在商业版 全部(开源最重) 中 官方原文
9 EBS WAL 只在单 AZ,而且 AutoMQ 文档写的耐久性(5–9 个 9)高于 AWS 对 gp3 公布的 99.8–99.9% 商业版 EBS WAL 中 官方原文
10 BYOC 营销写「零网络连接」,与它自己的安装 / 运维文档矛盾 BYOC 中 官方原文
11 AutoMQ Cloud 文档的硬限制:单分区读、写各 4 MBps,offsets 固定保留 7 天,保留期不超过 60 天(BYOC 实测单分区写:默认客户端批约 10 MB/s;batch 256 KiB + zstd 后 200k msg/s × 200 B 达标) AutoMQ Cloud 文档范围 中 官方原文 + AWS 实测
12 迁移工具只进不出;S3 上是私有格式,迁出要全量复制 全部 中 官方原文
13 默认条款禁止发布基准,禁止 PHI / PCI / GLBA 数据;两份用户协议同时在线 商业版 中(采购问题) 官方原文
14 「零跨 AZ」有前提:S3WAL(按文档)、3 AZ、各 AZ 产消均衡、改 client.id 或配 CIDR 全部 中 官方原文
15 KRaft controller 同时存 S3 对象元数据:有规模风险(#3477 修复后没有复测) 全部 中 单一来源
16 ZeroZone(零跨 AZ)路径的正确性缺陷:1.7.4 上存在,1.7.5 RC 在修;IPv6 仍 open 全部 中 单一来源
17 S3 SDK 传输层问题在 1.7 上要手工配置规避,修复在未发布的 1.8 开源 1.7.x 中 单一来源
18 WAL 类型是集群级配置,换延迟档要再迁一次 全部 中 单一来源
19 文档里的物理参数有错(gp3 写成 $0.20 ⇒ 声称省「26×」) — 低 官方原文
20 报告 CRITICAL CVE 的 issue(#3617)截至 2026-10-29 仍 open(38 天) 发布镜像 低 官方原文
21 「sub-10ms P99」有前提:实测推荐客户端参数下单分区 p99 7.75 ms 成立;默认客户端(zone router 开,24 分区 100 B)13.75 ms、多分区高速率最高 15.9 ms 营销口径 低 AWS 实测

另有 11 条(#22–#32)影响较低或只适合作为采购问题,见本节末尾的紧凑表。

0.2 逐条卡片(第 1–21 条)

每张卡片包括:是什么 / 依据 / 影响谁 / MSK 的做法 / 如何在 PoC 中自己验证。验证实验建议在独立测试账号中进行,不碰生产资源。AutoMQ 开源版是 Apache 2.0,测试结果不受限制;商业版试用的结果受 AutoMQ ToS 1.4(g)「publish benchmarks or performance information」约束 S15,仅用于内部评估。

#1 开源版只有 S3 WAL,写入 P99 是数百毫秒;低延迟 WAL 全部闭源
  • 是什么:AutoMQ 先把写入落到 WAL,再上传 S3。开源版的 WAL 只能放在对象存储上:producer 的 ack 要等攒批(默认「batchInterval=250 milliseconds and maxBytesInBatch=8388608 bytes」S12),再加一次 S3 PUT。块存储 / 文件存储 WAL(EBS、EFS、FSx)不在开源仓库里。
  • 依据:
    • WAL 文档原文:「for AutoMQ Open Source, only S3-compatible storage services are supported as WAL storage options」S1。
    • 开源与商业对比表原文:开源版「S3 WAL / Produce RT: P99 600+ milliseconds」,商业版「Low-latency storage WAL (EBS, FSx) / Produce RT: P99 < 10 milliseconds」S2。
    • AutoMQ 自己的 1 GiB/s 基准(S3 WAL,6 节点,256 分区,1 KiB 消息,linger.ms=100):produce P50 465 / P99 823 / P999 1,049 ms;E2E P99 1,189 ms S23。
    • 另一篇 AutoMQ 博客(2025-01-12):send P99 489 ms S24。计算器把 S3 WAL 档标成「Log & Analytics Latency ~500ms」S27。
    • 开源版曾经有块存储 WAL,后来移除了。GitHub #3037 中用户原话「switching from block wal to s3 wal results in a performance degradation of over 100x」;维护者原话「The block WAL implementation in the open-source version lacks failover features, which are exclusive to the BYOC version」S37(单一来源)。即至少在 WAL 这一项上,当前开源版的选择比早期版本少。
    • 独立用户 Fresha 原文:「the only possible option in the open source AutoMQ version is the S3 WAL, the rest are closed source」S41(2026-09-03,单一用户报告)。
  • 影响谁:评估「开源免费」路线的客户;ack 落在用户请求路径上的负载(下单、支付、Outbox、请求-响应式事件);端到端 SLA 低于 1 s 的流处理链路。日志、埋点、CDC 入湖不受影响。另外,用开源版做 PoC、生产再买商业版的客户,PoC 测的是 S3 WAL,生产跑的是 EBS / FSx WAL,PoC 结论不能外推。
  • MSK 的做法:MSK Standard 的写路径是「网络 + page cache + 一轮 follower fetch」,不经过对象存储;Express 的存储实现没有公开,其写确认在实测中同样是毫秒级。毫秒级是三种形态、所有 topic 的默认值。AWS 在东京区的 MSK 实测(3 × m7g.large,3 AZ,200 B,1,000 msg/s,acks=all,客户端与 leader 同 AZ):
    • Standard,in-flight 1、linger 0:p50 3.28 / p99 5.72 ms 实测- Standard,默认 in-flight 5、linger 0:p50 11.5 / p99 17.6 ms 实测- Express,in-flight 1、linger 0:p99 8.0–10.4 ms
    • 需要说明:调优前一轮(MSK 为 3 × *.m7g.large、AutoMQ 为 3 × m7g.xlarge,规格不对等),AutoMQ 商业版 + FSx WAL 的写入确认,AWS 实测(AutoMQ 5.5.7,单分区、200 B、1,000 msg/s、acks=all):推荐客户端(in-flight 5、linger 1、关 zone router)p50 6.64 / p99 7.75 ms;MSK Standard in-flight 1 为 5.72 ms、默认 in-flight 5 为 17.6 ms;AutoMQ 默认客户端(zone router 开)p99 13.75 ms(测试记录 §10.3、§10.12)。同规格、同判据的对照见下行(r4)。(厂商公布 12.87 ms,测试条件为约 51 KiB 大消息、5 s 短测。)「MSK 比 AutoMQ 低一个数量级」只对 S3 WAL 成立。
    • 同一测试、同一时间的三方对照(r4,2026-11-07;单分区、200 B、1,000 msg/s、acks=all,三家同为 m7g.xlarge 级、各自由同一判据选出的最优客户端配置;AWS 实测,测试记录 §11):写入确认 p99 MSK Standard 4.58 ms、AutoMQ 商业版 + FSx WAL 7.83 ms、MSK Express 7.96 ms;p50 分别为 3.29 / 6.71 / 4.21 ms。
  • 如何验证:EC2 上起 AutoMQ 开源 1.7.x,3 AZ × 3 × m7g.xlarge,S3 WAL 默认参数;负载与上述 MSK 实测相同(200 B、1,000 msg/s、acks=all、linger 0,in-flight 1 和 5 各一组),再加一组 10 MiB/s × 1 KB、linger 5。记 produce p50 / p99 / p99.9 和 E2E p99,同 AZ 与远 AZ 的 consumer 分开记。预期:produce p99 在 250–900 ms;MSK 同负载 5.7–17.6 ms(3 × m7g.large,in-flight 1 / 5),调优后 4.6–8.0 ms(r4,xlarge 级:Standard 4.58、Express 7.96 ms)。判据:AutoMQ 开源版 p99 低于 100 ms,则这一条不成立。
#2 自研存储引擎 2026 年修过两类数据丢失 / 损坏缺陷,修复不修存量
  • 是什么(解读,依据下列原文):Apache Kafka 的日志层是「本地 segment + ISR 复制」。AutoMQ 把它换成了自研的 S3Stream:WAL、S3 对象、存在 KRaft 里的对象索引,再加后台 compaction。缺陷往往在 compaction 或恢复时才触发;Kafka 层只有一个副本,S3 对象一旦写进错误内容,就没有第二份可以恢复。
  • 依据:
    • PR #3336(1.7.0,2026-06):「DataBlockIndex.endOffsetDelta is stored as a 4-byte signed int … The affected stream's data is permanently lost. This primarily affects compact topics (e.g. __consumer_offsets)」S32。
    • PR #3416(1.7.1,2026-06):「object storage may accept and persist the corrupted body」S32。
    • #3686(2026-10-21,closed,1.6.7 → 1.7.4,EKS spot):__consumer_offsets 报「Invalid footer magic: -1」,消费组回到 earliest。维护者原话:修复「does not repair existing objects」,读到的「may be reads of objects corrupted before the upgrade」;恢复方案原话「This deletes valid offsets and group metadata in expired segments across every partition of the topic」。用户删掉旧记录后确认「The issue seems fixed now!」S30。
    • #3706(2026-10-28,open):1.2.x、block WAL(当前开源版已经没有);报告者原话「All data in that partition was lost」,同时也写了「The latest version only has S3 WAL, so we are not sure whether it still applies」;尚无维护者回复 S31。
    • 边界:上述是 2026 年上半年修复的两类缺陷,修复不会修复已经损坏的数据;目前没有证据表明当前版本仍在丢数据;AWS 对商业版 FSx WAL(AutoMQ 5.5.6 / 5.5.7)的全部测试(含 kill -9、网络分区、S3 不可用等故障注入)均为 0 丢 / 0 乱序 / 0 重复(测试记录各节),但这不覆盖开源版 S3 WAL 的 compaction 路径。这些缺陷之所以可见,是因为 AutoMQ 在 GitHub 上公开缺陷且响应迅速(#3686 当天就给出了定位)S30。这里讨论的是缺陷类型,不是数量。
  • 影响谁:__consumer_offsets 和所有 compacted topic(#3336 和 #3686 都出在这里);用 Spot 实例或频繁滚动节点的 K8s 部署(#3686 的触发场景就是 Karpenter 替换节点);从 1.7.1 之前的版本升级上来、存量对象可能已经损坏的集群。
  • MSK 的做法:RF=3,min.insync.replicas=2;Standard 的日志层是 Apache 原生实现。(解读)单个副本损坏时,其他副本上还有同一份数据,可以重新复制;单副本损坏后的具体恢复流程与耗时未做实测。Express 固定「replication is always set to 3 and the minimum in-sync replica is always set to 2」M20。
  • 如何验证:AutoMQ 开源 1.7.x,3 AZ。①建 cleanup.policy=compact 的 topic,用 kafka-verifiable-producer / -consumer 有序写入并校验读取,跑 48 h,期间每 30 分钟对一台 broker 发一次 SIGTERM;②用 iptables 对 S3 前缀列表随机丢包 / 限速,模拟 SDK 超时重试,同时写入,结束后全量回读并逐条做 CRC 校验。指标:确认写入数与读回数之差、损坏消息数、__consumer_offsets 中已提交 offset 是否回退。判据:全部为 0 才算通过。MSK Standard 用同一负载做对照。
  • 要问 AutoMQ:从 1.7.1 之前版本升级上来的集群,如何检测并修复存量损坏对象?
#3 内核停在 Kafka 3.9
  • 是什么(解读):AutoMQ 是公司主导的 fork,改动不只在存储层,还侵入了 broker / coordinator(ZeroZone 路由、snapshot-read 副本、自平衡、私有 API)。改动面越大,rebase 到上游 4.x 的成本越高。维护者给出的理由是老客户端兼容。
  • 依据:
    • 1.8 分支(下一个大版本,未发布)的 gradle.properties 是 version=3.9.2,main 是 version=3.9.0-SNAPSHOT S5。
    • Apache 下载页:Supported releases 是 4.4.0 / 4.3.2 / 4.2.2;3.9.2 / 3.9.1 / 3.9.0 列在 Archived Releases 下;4.4.0 发布于 2026-10-22 S6。
    • AutoMQ 文档原文:「It supports the latest updates to Apache Kafka versions within T+1 month」S4。Apache 4.0.0 发布于 2025-03-18,到 2026-10-29 已经 19 个月 S6。
    • #2950「Kafka 4.x kernel support」(2025-10-14 开,open):维护者 2026-03-09 原话「Kafka 4.x has dropped compatibility with older clients. We are currently evaluating how to address this issue … we will need to maintain parallel development for two versions」;用户 2026-04-28 原话「strimzi-operator (v1 … support only Kafka 4.1+ so we're blocked on 0.45.x」;最近一条评论在 2026-10-13,没有维护者给出日期 S7。
    • 上游路线:KIP-1150(无 leader 的 diskless)已经被接受;AutoMQ 提的 KIP-1183 停滞。Apache committer Jun Rao 原话「The coordinator-based approach may be a cleaner way of supporting cloud storage」,AutoMQ CTO 回复「I completely agree」S39(2025-11)。解读:AutoMQ 的存储层不会进入 Apache 主线,它会长期维护一个 fork。
  • 影响谁:需要 KIP-848(新 consumer rebalance 协议,4.0 GA)、KIP-890 Transactions V2、KIP-1071 Streams 协议、KIP-966 ELR 的客户;用 Strimzi 1.x(只支持 Kafka 4.1+)的 K8s 用户;合规上要求「只能跑上游仍受支持的版本」的客户。
  • MSK 的做法:MSK 支持 4.0.x、4.1.x,Express 另外支持 4.2.x M11(4.2 仅 Express)。AWS 在东京区的 MSK 实测:3.9.x.kraft 原地升级到 4.1.x.kraft 之后,自动 finalize 了 transaction.version=2、eligible.leader.replicas.version=1、kraft.version=1 实测。
    • 需要说明:KIP-932(share groups)在 MSK 上实测同样不可用(UnsupportedVersionException);Express「don't yet fully support KStreams API」M3。准确的说法是「MSK 在 4.x 主线上,能用到已经 GA 的 4.x 能力;AutoMQ 停在 3.9」,而不是「MSK 有 4.x 的全部功能」。
  • 如何验证:AutoMQ 1.7.x 加 Java 4.4.0 客户端。①kafka-features.sh describe,预期 metadata.version 最高 3.9-IV0,没有 transaction.version / group.version;②用 group.protocol=consumer 启动 consumer,预期报 UnsupportedVersionException 或回退到经典协议。对 MSK 4.1 集群做同样两步,预期成功。
  • 要问 AutoMQ:4.x 内核的书面时间表是什么?
#4 RF=1、没有热备:迁移和重启时有秒级写停顿
  • 是什么:Kafka 层只有一个副本。一个分区换 broker 时要走完一条串行链:关闭(等在途写入落 WAL)→ KRaft 元数据交接 → 新 broker 打开 stream(读 WAL 和对象索引)→ 才能接受写入。Kafka 的 ISR 里则已经有一个同步好的 follower,切换 leader 不需要「打开」存储。
  • 依据:
    • AWS 实测(商业版 FSx WAL):受控关闭(ec2 stop)最大确认 2.4–2.52 s(测试记录 §7.4、§10.9);在线扩缩 3 ↔ 6 broker 停顿 0.1–0.3 s(AutoMQ 5.5.7,测试记录 §9.16、§10.13;5.5.6 上扩缩配置生效用时 108 s、订单 topic 最大 62 ms)。(厂商自测分区迁移「Maximum send latency of 2.2s」,期间返回 NOT_LEADER_OR_FOLLOWER,对照的是 Kafka 3.6.0 S25。)
    • #3669(2026-10-19,open)原文:「Controlled broker restarts can cause elevated application write latency and delayed visibility for snapshot readers」。报告者给出的峰值(每 pod p99,一分钟直方图、15 秒步长):基线镜像的写 p99 最高 8.85 s,reader-delay p99 最高 28.25 s S33。报告者自己写明了局限:两个对照镜像都开了他自己的 cross-rack 扩展,「Partition ownership and workload distribution differed between runs」,因此这个数字只说明量级,不宜作为基准或与 MSK 直接比较。维护者回复「Major changes and new features will go into 1.8」S33,即 1.7 用户短期内拿不到修复。
    • AutoMQ CTO 在 KIP-1183 讨论串里的完整原话:「Under RF=1, we rely on partition movement (reopening the partition via shared storage), which adds a few extra seconds. However, this has a small impact on overall failover latency … we haven't yet encountered large-scale deployments with idempotent producers enabled—this is something we need to validate」S39(2025-11-09)。Jun Rao 追问「What's the latency impact if a broker has thousands of partitions?」,回复只有定性的「This process can be highly concurrent」,没有数字 S39。
    • Apache committer Luke Chen 对这条路线的评价:「weaker availability (no hot standby)」(Apache cwiki,2025-08)。
    • 硬崩溃接管,AWS 实测(商业版 FSx WAL,kill -9 单 broker):AutoMQ 5.5.7 共 16 次全部自愈,最长零确认 15–27 s(最大单条确认 18.4–34.2 s)(测试记录 §10.4);5.5.6 上 15 次中 3 次出现部分分区 32–44 min 不可写、需人工重启(测试记录 §9.3–§9.6)。实例终止未单独测。
  • 影响谁:p99 / p99.9 有 SLA 的在线链路(支付、风控、行情);依赖跨 AZ 读者数据新鲜度的链路;开着幂等 / 事务的 producer(Java producer 从 3.0 起默认 enable.idempotence=true、acks=all,KIP-679 原文「release version 3.0」S50);用 Spot 或频繁滚动的部署(每次都要走一遍这条链);kafka-go 等非 Java 客户端(PR #3459 原文:迁移窗口「can cause user-visible write failures」S38)。
  • MSK 的做法:ISR 中的 follower 已经有完整日志和 producer 状态。AWS 在东京区的 MSK 实测 RebootBroker,2,000 msg/s,linger 5:Standard 最坏一秒 p99 1.14 s、0 条失败 实测;Express 最坏一秒 p99 1.34 s、0 条失败 实测(以上为 3 × *.m7g.large;xlarge 另测(11-08,单分区三路审计流最坏一秒):Standard 1.10–2.24 s、Express 2.29–2.61 s,与 large 一致(测试记录 §12.3))。AWS 官方口径是 p99「typically high milliseconds, up to ~2 seconds」M6。
    • 边界:一次原地版本升级中出现过 30.65 s 停顿,正好等于客户端 request.timeout.ms 的默认值 30 s 实测,因此对低延迟链路建议把它调到 10 s 量级(前提是开了幂等)。Express 的「no maintenance windows」也不等于没有影响 M6。
    • 两边口径不同:#3669 是「每 pod 一分钟直方图的 p99 峰值」,MSK 实测是「每秒 p99 的最坏一秒」。只能说「同量级的受控重启,#3669 报告里是秒级」。AutoMQ 商业版受控关闭实测最大确认 2.4–2.52 s(测试记录 §7.4、§10.9),与 MSK 同为秒级(口径为最大单条确认,不是每秒 p99)。
  • 如何验证:AutoMQ 开源 1.7.x,3 AZ × 3 broker,S3 WAL + ZeroZone;2,000 分区;200 个 Java producer 全部 enable.idempotence=true,其中 50 个带 transactional.id;每个 producer 100 msg/s × 1 KB。依次做三件事:计划内 kill -15、计划外 kill -9、强制停止 EC2。指标:每个分区「最后一次成功写 → 下一次成功写」的间隔(p50 / p99 / max)、每秒 produce p99、错误码计数(NOT_LEADER_OR_FOLLOWER、OUT_OF_ORDER_SEQUENCE_NUMBER、UNKNOWN_PRODUCER_ID)、按序号校验的重复与丢失。判据:计划外故障时分区不可写 p99 大于 5 s,或出现序号类错误,这一条成立。MSK 用同一脚本跑 RebootBroker 对照。
  • 要问 AutoMQ:商业版 FSx WAL 硬崩溃实测停写 15–27 s(测试记录 §10.4),与独立用户读源码推导的「约 9 s fence + 最多 10 s 调度周期」S42 相符;开源版 S3 WAL 下是否相同?5.5.6 上部分分区数十分钟不可写的问题在哪个版本修复?开启幂等 / 事务的大规模部署是否已经验证?
#5 认证文档没有列 IAM / OAUTHBEARER;Kafka Linking 不支持 MSK IAM
  • 是什么:AutoMQ 只实现了 Kafka 原生的认证机制。
  • 依据:安全概览只列了 PLAINTEXT、SASL(SCRAM-SHA-256/512、PLAIN)、mTLS,「AWS IAM (AWS_MSK_IAM) and OAUTHBEARER are not mentioned」S9;迁移文档原文「Kafka Linking does not support MSK IAM Role authentication mode and only supports the native ACL authentication mode」S11。公开检索中没有找到 AutoMQ 支持 IAM 的说法,GitHub 上也没有 Kafka 客户端 IAM 认证的需求或计划。注意:这是「文档未列」,不等于已经证明不存在。
  • 影响谁:现网用 AWS_MSK_IAM 的 MSK 客户。迁过去要改所有客户端的认证方式,而且迁移前要先在源 MSK 集群上开 SCRAM。另外,想用 IAM policy 直接授权到 topic / 消费组粒度的客户也受影响。
  • MSK 的做法:IAM「enables you to handle both authentication and authorization for your MSK cluster」M16。AWS 在东京区的 MSK 实测(3 × m7g.large,1,000 msg/s):稳态下 IAM 与 SCRAM 的 p99 只差 0.23 ms(9.85 vs 9.62 ms)实测。
  • 如何验证:Java 客户端配 sasl.mechanism=AWS_MSK_IAM 连 AutoMQ 开源 1.7.x。预期:UnsupportedSaslMechanismException。
#6 静态加密不支持 BYOK,只支持 AWS,建好后不能再开
  • 依据:加密文档原文:密钥「managed by the cloud vendor, and BYOK (Bring Your Own Key) custom keys are not supported. The data encryption feature is only supported on AWS」;以及「Making changes to existing environment consoles or instances is not supported」S10。
  • 影响谁:密钥策略要求 KMS 客户托管密钥(CMK)和密钥轮换审计的金融、受监管客户;已经建好 AutoMQ 环境、事后才想开加密的客户(只能重建);在 GCP / Azure 上部署 AutoMQ 的客户。
  • MSK 的做法:MSK 加密文档原文「For DataVolumeKMSKeyId, you can specify a customer managed key or the AWS managed key for MSK in your account (alias/aws/kafka). If you don't specify EncryptionAtRest, Amazon MSK still encrypts your data at rest under the AWS managed key.」M23。
  • 要问 AutoMQ:能否使用客户自己的 KMS CMK?已有环境能否事后开启数据加密?GCP / Azure 上的静态加密方案是什么?
#7 小规模时,S3 请求费抵掉了它省下的 producer 跨 AZ 费
  • 是什么(推导,未实测):S3 WAL 每 250 ms 或攒满 8 MiB 刷一次,每次刷写至少一次 PUT S12,这有一个与吞吐无关的请求费地板。所以吞吐越小,每 GiB 摊到的请求费越高。
  • 依据(用 AutoMQ 自己计算器的默认值 S27,平均约 10 MiB/s、2,000 分区、扇出 1、保留 7 天、S3 WAL):
    • AutoMQ 一侧 S3 请求费 $395/月(236,073,445 次调用),比 S3 存储($136)和 EC2($84)都高;写入 25,664 GiB/月 ⇒ 约 $0.0154/GiB(推算)。
    • MSK 上 AutoMQ 能消掉、而 follower fetching 消不掉的,只有 producer → leader 那段跨 AZ:计算器给 MSK 算的是 $342/月;按单价是 2/3 × $0.02 ≈ $0.0133/GiB(推算)。
    • 在这一档,AutoMQ 付给 S3 的请求费比它省下的 producer 跨 AZ 费还高约 15%。对比:AutoMQ 1 GiB/s 基准里 S3 API 费是 $3,952/月,约 $0.0015/GiB S23,只有小规模的约 1/10。
    • AutoMQ 自己也写明降延迟要多花钱:「achieving lower latency will increase the cost of S3 APIs」S23。
  • 影响谁:单集群几 MB/s 到几十 MB/s 的中小客户,也就是 AutoMQ 计算器默认针对的那一档。
  • MSK 的做法:MSK 不按请求计费,broker 间复制不收费 M1,consumer 侧可以用 follower fetching 消掉跨 AZ 费。
  • 如何验证:AutoMQ 开源 1.7.x,每个 broker 的写速率按 1 / 5 / 16 / 32 / 64 / 170 MiB/s 扫一遍;用 S3 请求指标统计 PUT / GET 次数 × 单价,除以写入 GiB。预期:10 MiB/s 时不低于 $0.012/GiB,170 MiB/s/broker 时不高于 $0.002/GiB。
#8 S3 是写路径的硬依赖;开源版只能用单 bucket
  • 是什么:S3 WAL 模式下,ack 之前必须完成 S3 PUT。EBS / FSx WAL 模式下,S3 上传失败后,未上传的数据堆在缓存里:「When the cache data that has not been uploaded fills up the entire capacity, storage will exert backpressure on subsequent requests」S13。
  • 依据:
    • AutoMQ 文档原文:「object storage can still experience significant software failures, rendering AutoMQ services unavailable」;多 bucket 的解法只在商业版,原文「AutoMQ commercial editions innovatively adopt a multi-bucket architecture」S14。
    • GitHub 实例:#3177(2026-01,已修)broker 恢复时把 S3「503 SlowDown」当作致命错误直接退出;#3664 读许可泄漏,指标「stays low until the process is restarted」,修复进 1.8.0(未发布)S37(单一来源)。
    • 有用户在对象存储之上另行设计了容灾:360 的案例(厂商渠道发布)原文「对象存储本身的高可用性是整个架构的基石。为了在此基础上进一步提升可用性,360 额外设计了集群级故障切换方案」S49。
    • 边界:S3 的 SLA 是 99.9%,和 MSK 是同一档。即使是商业版 FSx WAL,S3 不可用也会停写:AWS 实测(AutoMQ 5.5.7,测试记录 §10.6、§10.10、§10.13)S3 不可用 300 s 时停写 106–136 s(5.5.6 为 0 s),不可用 900 s 时停写 534–737 s。
  • 影响谁:所有 AutoMQ 用户,开源版影响最大(只能使用单 bucket,没有 bucket 级容灾)。恢复风暴(多台 broker 同时重启)恰好是 S3 最容易限流的时候。
  • MSK 的做法(只对 Standard):Standard 的写确认只依赖本地 EBS 和 broker 间复制;tiered storage 往 S3 上传是异步的,不在 produce 确认路径上 M7。Express 的存储是「Regional Kafka storage」,实现没有公开,这里不对 Express 做「不依赖 S3」的判断。
  • 如何验证(独立测试账号):对 AutoMQ 开源版的数据 bucket 临时加一条 Deny s3:PutObject 的 bucket policy,持续 60 s 后撤销,期间 1,000 msg/s 持续写入。记录:produce 开始失败的时间点、恢复后积压消化的时间、broker 是否退出、分区是否需要人工干预。
#9 EBS WAL 只在单 AZ,耐久性被文档写高
  • 依据:
    • AWS:EBS 卷只能挂到同 AZ 的实例;「All other Amazon EBS volumes are designed to provided 99.8%-99.9% durability with an AFR of between 0.1% - 0.2%」,只有 io2 Block Express 是 AFR 0.001% S44。
    • AutoMQ WAL 表把 EBS WAL 的耐久性写成「Between 5 nines and 9 nines」S1。对 gp3,这个说法不成立。BYOC 实际用的卷类型未公开(有一个老页面写「requiring only 3 GB」的 gp3,对照的是 Kafka 3.6.0,可能过时 S25)。
    • 独立用户 Fresha 原话:「if a whole AZ goes down, then the volume is unreachable, and the unflushed WAL window is stuck until the AZ recovers」S41(单一用户报告)。
    • AutoMQ 自己的部署建议:单 AZ 部署优先用 EBS WAL,多 AZ 部署用 S3 WAL 或 FSx WAL S22(2025-12-18)。
    • 补充:AWS 上低延迟、多 AZ 的 WAL 不只有 FSx,还有 EFS WAL。Fresha 生产在用 EFS WAL,原文「EFS WAL — records are persisted to a network file system that is multi-AZ aware by default」S41;计算器的 Real-time 档默认也是 EFS WAL S27。EFS WAL 的公开 p99:未公开。
    • FSx for ONTAP Multi-AZ 原文是「a single HA pair of file servers, the standby file server is deployed in a different Availability Zone」,切换「typically completes in less than 60 seconds」S45。即只覆盖 2 个 AZ。AWS 实测(AutoMQ 5.5.7,测试记录 §10.5、§10.8、§10.9、§10.13):FSx 主备切换本身多分区 ≤ 6.5 s、单分区 3–7 s;但 FSx 首选 AZ 网络分区约 60–80 s 时,多分区全集群停写 120–146 s,单分区在 delivery.timeout.ms=120000 下停写 249 s,在 delivery.timeout.ms=30000 下 3 次中 2 次生产者永久卡死;非首选 AZ 网络分区停写 22.7–30 s。另有双 FSx 部署失去一套约 5 min 时停写 333–573 s,恢复后不自愈、须人工重启(2 / 2,测试记录 §10.23)。双 FSx 上线后不能安全回退:把 FSx 从 2 套缩回 1 套后,一台 broker 启动即崩溃循环、控制台任务无限挂起且不报错,唯一出路是删实例重建(AutoMQ 5.5.7,测试记录 §11.4–§11.5)。
  • 影响谁:选商业版 EBS WAL、又要求 3 AZ 容灾和「已 ack 不丢」的客户(金融、订单);broker 数多的集群(单卷故障的累积概率随 broker 数上升)。
  • MSK 的做法:RF3 / minISR 2 跨 3 AZ,丢一个 AZ 时 leader 切到其他 AZ 的 ISR 副本 M20。真实 AZ 断电无法在 MSK 上由客户注入;已做 AZ 级组合故障的近似注入(AWS FIS,11-08:切断 az1 broker 子网 5 min + 该 broker 下线;不是真实 AZ 断电——MSK 副本复制走服务侧网络,客户切不断):MSK Standard 最坏一秒 59.9–119.6 s(累计 8 次中 4 次 broker 回来后 leader 被交还给仍断网的它 ⇒ 二次停写;客户端与 leader.imbalance.per.broker.percentage 调整都不能消除,§12.5),MSK Express 最坏一秒 89.9–117.7 s(期间仍有确认、零确认 0–29 s),AutoMQ 商业版 69.5–72.4 s;若丢的是 FSx 首选 AZ,AutoMQ 三个 AZ 的生产者全停 369–376 s、每路 ≈ 30 万笔失败(测试记录 §12.3))。
  • 要问 AutoMQ(书面):AZ 故障时,EBS WAL 上未上传到 S3 的已 ack 数据,是停住等 AZ 恢复,还是丢失?BYOC 默认用哪种 EBS 卷类型?EFS WAL 下 AZ 故障的写停顿是多少?FSx WAL 下首选 AZ 网络分区时,单分区生产者永久卡死如何规避?
#10 BYOC「零网络连接」与它自己的文档矛盾
  • 依据:
    • BYOC 营销页原文:「100% Air-Gapped」「There is no inbound or outbound traffic to external vendor services」「Maintains zero network connections between your VPC and AutoMQ」S19。
    • 同一家厂商的文档:「Customers need to grant cross-account permissions for this bucket to the AutoMQ team's main account」(Ops Bucket);控制台「must have internet access to download installation packages and synchronize necessary metadata」;控制台 8.1.2 release notes「a secure and controllable ops channel can be achieved based on ngrok」。
    • ToS 1.5.4:客户在「hardware upgrades, network reconfigurations, or operating system updates」之前,要「at least 48 hours in advance」书面通知 AutoMQ S15。
    • 边界:这不等于「AutoMQ 能访问你的数据」。它的安全页原文是「AutoMQ cannot access your Kafka data or metadata without your authorization」S20。
  • 影响谁:要求 VPC 不出网、或者不允许第三方常驻访问的安全评审。
  • MSK 的做法:MSK FAQ 原文「Amazon MSK always runs within an Amazon VPC managed by the Amazon MSK service … IP addresses from your VPC are attached to your Amazon MSK resources through ENIs, and all network traffic stays within the AWS network and is not accessible to the internet by default」M2。(解读)因此客户 VPC 不需要为 MSK 出网,也没有第三方运维方需要跨账号拿诊断数据。
  • 要问 AutoMQ:BYOC 控制台需要访问哪些外部域名?Ops Bucket 上授予 AutoMQ 账号的权限范围是什么?ngrok 运维通道何时开启、由谁批准?
#11 AutoMQ Cloud 文档的硬限制(只适用于 AutoMQ Cloud 文档范围)
  • 依据:restrictions 页 S8 原文:单分区写吞吐「Limit: 4 MBps – Custom modifications are not supported」,读同样 4 MBps;offsets.retention.minutes「7 days – Customization not supported」;log.retention.ms 1 小时–60 天(超出要提工单);fetch.max.bytes 55 MB。
  • 范围:这是 AutoMQ Cloud 文档。BYOC 自管版、Software 版、开源版是否有同样的限制:文档未写,不应推广到开源版。AWS 实测 BYOC 商业版单分区 200 B:客户端默认 16 KiB 批时 50k msg/s(约 10 MB/s)正常(测试记录 §10.12)、100k 过载(最多确认 62,780/s);batch 256 KiB + zstd 后 200k msg/s p99 8.66 ms(AutoMQ 5.5.7,m7g.xlarge,测试记录 §11.9),即 BYOC 上未见 4 MBps 的写限制。MSK 同样有分区级 / broker 级上限:limits 页原文 Express「Throughput per-partition … Max 15 MB/s」(AWS 实测 express.m7g.xlarge 单分区 batch 64 KiB、不压缩时确认 99,990 msg/s,≈ 22 MB/s,p99 16.35 ms 实测),每 broker 分区数(含 follower 副本)有推荐值和最大值,如 express.m7g.large 推荐 1000、最大 1500 M12;详见 §4.10。
  • 影响谁:有单分区 10 MB/s 以上热点的负载(按 key 分区的大客户);保留期超过 60 天的负载;周批 / 月批、超过 7 天才提交一次 offset 的消费组。
  • 如何验证:把最热分区的峰值流量、最长保留期需求、消费组最长不提交间隔和这三项限制逐一对照;向厂商要书面答复:BYOC 环境是否适用。
#12 迁移工具只进不出
  • 依据:迁移文档原文「Kafka Linking supports only AutoMQ instances as Sink Clusters」S11;S3 上是多分区混写的 WAL 对象和 stream set object,不是 Kafka segment;带 KIP-405 tiered 配置的 topic 会被拒绝,报「Tiered Storage functionality is disabled in the broker」S40(单一用户报告)。开源版的迁移工具只有 MM2,AutoMQ 自己的对比表写 MM2「Message replication offset inconsistency; Cluster switching requires downtime」S2。
  • 边界:「AutoMQ 自己不提供迁出工具」属实,但这不等于「迁不出来」。MSK FAQ 原文把它列为兼容源:「WarpStream, or AutoMQ when configured with SASL/SCRAM or mTLS authentication」M2。
  • 影响谁:长保留(数周到数月)、数据量大的集群。迁出等于全量重新复制一遍(推断,因为对象格式私有);AutoMQ 按读出流量收费(egress $0.00275–0.0067/GiB S27),迁出时读历史数据可能也要付这笔钱(推断,计费页没有单列迁移场景)。
  • MSK 的做法:MSK 存的就是 Apache Kafka segment 和 KIP-405 tiered storage,可以用 MM2、MSK Replicator 或任何 Kafka 生态工具迁出 M15。
  • 如何验证:在 AutoMQ 开源版上灌 200 GiB(48 分区,保留 30 天)。①从 bucket 里随便取一个对象跑 kafka-dump-log.sh --files,预期无法解析;②用 MSK Replicator(外部源、SCRAM、Identical 命名、Earliest)复制到 MSK Express,记录全量复制耗时、复制吞吐、消费组 offset 是否对齐。
#13 默认条款的限制(采购问题)
  • 依据(官网 ToS,「Last Updated: December 2025」S15):1.4(g) 禁止「publish benchmarks or performance information about the Service」;1.4(l) 禁止「Prohibited Data」,定义里包括 HIPAA 规管的 PHI、受 PCI DSS 约束的支付卡数据、受 Gramm-Leach-Bliley Act 约束的信息,并写明「AutoMQ is not a Business Associate」。文档站上同时挂着另一份「AutoMQ Cloud Service End User Agreement」:适用中华人民共和国法律,由被告所在地人民法院管辖,并免除包括直接损失、数据丢失在内的责任 S16。官网版适用香港法律,HKIAC 仲裁,责任上限为「CASH PROCEEDS ACTUALLY RECEIVED」S15。
  • 边界:ToS 里「Service」的定义是「software-as-a-service offering hosted by or on behalf of AutoMQ」,对 BYOC 是否适用有歧义;企业 Order Form 通常会覆盖在线条款;禁止发布基准的条款(DeWitt clause)在商业软件里很常见。因此这不说明「AutoMQ 不能处理支付 / 医疗数据」。
  • 要问 AutoMQ(建议由法务提出):以哪一份协议为准?BYOC 是否适用 1.4(l)?数据丢失的责任上限是多少?
  • MSK 对照:AWS Service Terms §1.8 允许做基准并对外披露,条件是附上「all information necessary to replicate such Benchmark」M17;MSK「These include PCI and HIPAA BAA」M8。
#14 「零跨 AZ」有前提
  • 依据:AutoMQ 文档列的前提 S3:AWS / GCP;「only Producer, Consumer, and AutoMQ support deployment across three AZs. If … span more than three AZs, there will still be some cross-AZ traffic」;「the capacity of Producer and Consumer applications must be the same in each AZ」;「WAL type must be created as S3WAL」;producer 要把 client.id 设成 automq_type=producer&automq_az=<client_az>,或在服务端配置 automq.zone.cidr.blocks,原因是「Due to limitations of the Kafka protocol, the server cannot be aware of the Rack to which the Client belongs」;consumer 用 KIP-881、设 client.rack、客户端 ≥ 3.5.0。
    • 需要说明:AutoMQ 自己的 FSx 博客写 FSx WAL 能「driving cross‑AZ data‑plane traffic down to near its theoretical minimum」S22(2025-12-18);AWS 联合博客写「near-zero cross-AZ data plane traffic」S21。因此准确的说法是:开源版 / S3 WAL 下零跨 AZ 和毫秒级不可兼得;商业版 + FSx WAL 宣称可以,但实测的最低延迟(单分区 p99 7.75 ms)是在关闭 zone router(即不走省跨 AZ 费的本 AZ 转发)时取得的,开启时 p99 13.75 ms,AWS 实测(AutoMQ 5.5.7,测试记录 §10.3、§10.12),代价是额外的 FSx 费用(AutoMQ 博客原文:比开源 S3 直写方案「adds approximately USD 8,000 in FSx costs」,总成本「on the order of USD 18,000 per month」S22)和一个只覆盖 2 个 AZ 的 HA 对。AutoMQ 的文档和博客说法不一致,请厂商书面确认。
    • IPv6 客户端在 CIDR 匹配上失败:#3638(2026-10-05,open)「CIDR matching fails for IPv6 clients (NumberFormatException on every METADATA request)」S35。
  • 影响谁:4 个 AZ 以上的部署;各 AZ 客户端分布不均的部署;已经把 client.id 用于配额 / 监控的客户;IPv6 / 双栈 VPC。
  • MSK 对照:consumer 侧,MSK + follower fetching + KIP-881 同样能把跨 AZ 降到约 0,Express 也能配 replica.selector.class M4,代价是 E2E +2.2 ms 实测。producer 侧,有 key 的写入 MSK 没有对等手段;无 key 写入可以用 KIP-1123,实测 p50 −0.86 ms(需要 4.4 客户端,默认关闭)。
  • 如何验证:AutoMQ 开源版,producer 按 50 / 25 / 25 分布在三个 AZ;用 VPC Flow Logs 统计 broker 子网之间的字节数;同时测远 AZ consumer 与本 AZ consumer 的 E2E 差值。商业版试用里再用 FSx / EFS WAL 测一遍(结果仅用于内部评估)。
#15–#21 紧凑表
# 不足 依据(原文 / 来源) 边界 影响谁 MSK 的做法 如何验证
15 KRaft controller 同时存 S3 对象元数据,有规模风险 「Metadata information of objects on S3 is stored in KRaft」S14;#3477(约 5,000 topic):controller 事件队列饱和,broker「restart dozens of times in a single incident」,active controller 自行退出 S34 机制属实(单一来源);#3477 已关闭(维护者说 #3369 已修),报告者没有确认;当前版本在 5,000 topic 下是否仍有问题:未公开,请向 AutoMQ 索取规模测试结果 几千个 topic、几万个分区的平台团队 MSK 的 KRaft 只存集群元数据;每 broker 分区数超过推荐值时,MSK 直接拒绝配置变更(HighPartitionCountException),是「拒绝请求」,不是「把 controller 压垮」 1k / 3k / 5k topic 阶梯,每一档都滚动重启;看 controller 事件队列时延、broker 重启次数、是否出现 fatal fault
16 ZeroZone 路径的正确性缺陷 #3647:retention 删段后,另一 AZ 的 snapshot 副本返回「UNKNOWN_SERVER_ERROR, not OFFSET_OUT_OF_RANGE, so it cannot reset and retries forever」,陈旧「12 days」;修复进 1.7.5(目前是 RC);#3638 IPv6 open S35 1.7.4 上存在(GitHub issue);多数在 1.7.5 RC 修复中 正是为省跨 AZ 费而选 AutoMQ 的客户;用 auto.offset.reset=earliest 的消费组;事务 / EOS 用户 MSK 的跨 AZ 省钱手段(KIP-392 / KIP-1123)是 Apache 原生协议,follower 是 ISR 里的真实副本 空闲分区 retention 删段后,在另一 AZ 用 earliest 起新消费组,看是否报 UNKNOWN_SERVER_ERROR
17 S3 SDK 传输层问题在 1.7 上只能手工规避 #3675:默认 Netty S3 客户端「can repeatedly reconnect to one refused IP」,1.7 要在 bucket URI 里手工加 sdkImpl=crt;#3664 修复进 1.8.0(未发布);PR #3682 在 1.8 换成 CRT 传输层并大幅升级 AWS SDK S37 对 1.7.x 属实(GitHub issue / PR) 留在 1.7 稳定线的客户:要么带着已知问题,要么上 1.8,承受一次核心 I/O 路径的大变更 MSK 由 AWS 托管升级 toxiproxy 对 S3 响应注入「发完响应头就 FIN」,持续 10 分钟,看读许可指标能否恢复
18 WAL 类型是集群级配置,换延迟档要再迁一次 Fresha 原文「we can always move to EBS WAL … We are aware that this would require yet another migration」S41 单一用户报告 + 配置文档。MSK 的 Standard / Express 也是集群级选择,差别在于两者都是毫秒级 同一平台上既有日志类(可以慢、要便宜)又有交易类(要快)负载的客户 MSK 同一集群里所有 topic 都是毫秒级写入;tiered 可以按 topic 开,不影响写延迟(tiered topic p99 9.37 vs 普通 9.70 ms 实测) kafka-configs --describe --entity-type topics,确认没有 topic 级的 WAL 配置
19 文档里的物理参数有错 原文「Compared to the traditional 3-replica architecture based on EBS gp3 (approximately $0.60/GiB/month total), this can reduce storage costs by roughly 26×」S14;gp3 实际约 $0.08/GB-月,三副本 $0.24 对 S3 $0.023 ≈ 10× 官方原文 拿 AutoMQ 文档做 TCO 的客户 — 请厂商书面确认 gp3 单价后重算
20 报告 CRITICAL CVE 的 issue 仍 open(2026-09-21 起) #3617(2026-09-21 开,open):「Release images ship bcprov-jdk18on 1.84 with open CRITICAL CVE-2026-8763」,「This blocks image admission in environments that enforce CVE policies」S36 官方仓库 issue,影响低 有镜像 CVE 准入门禁的企业 托管服务,镜像和依赖由 AWS 负责 trivy image automqinc/automq:1.7.4-strimzi
21 「sub-10ms P99」有前提 AWS 实测(AutoMQ 5.5.7,测试记录 §10.12、§10.3、§10.19):单分区 200 B、1k–20k msg/s p99 7.64–7.93 ms(1k 时 7.75 ms),50k msg/s 11.35 ms(以上为推荐客户端、默认 16 KiB 批;50k 是默认批的临界点、两轮不一致:§10.12 p99 11.35 ms 达标,r4 重建实例 42.75 ms 未达标);客户端 batch 256 KiB + zstd 后单分区 1k–200k p99 7.74–9.10 ms、200k 8.66 ms,1 h 浸泡 p99.99 33.75 / max 88.82 ms(测试记录 §11.9);24 分区 1k→50k p99 7.6–15.9 ms;默认客户端(zone router 开,24 分区 100 B)13.75 ms;4 h 浸泡 p99.99 32.65 ms、max 235.6 ms。(厂商公布 12.87 ms S21、17.50 ms S22。) sub-10ms p99 在推荐客户端参数、中低速率下成立;默认客户端、多分区高速率下不成立;长尾在百毫秒级 拿营销口径做选型的客户 — 在客户自己的负载、分区数、客户端参数下复测 p50 / p99 / p99.99
其余 11 条(#22–#32):影响较低或属于采购问题
# 不足 依据(原文 / 来源) 边界 影响谁 MSK 的做法 如何验证 / 要问什么
22 开源版自平衡只看网络吞吐;开源迁移只有 MM2,而且「requires downtime」 对比表原文「Basic scheduling strategy, balancing network throughput only」「Cluster switching requires downtime」S2 官方原文 自建开源版的客户 Express Intelligent Rebalancing 新集群默认开启、不额外收费 M5(2025-11-20 之前建的 Express 集群默认 Paused) —
23 SLA 文本停在 2023-12-16,只看 produce 原文「Last updated: December 16, 2023」;不可用的定义是「fails to produce messages … lasts for more than one minute」S17 文本较早、只看 produce。「只赔服务抵扣」不是差异(MSK 也只给服务抵扣 M13) 需要把消费可用性、延迟劣化写进 SLA 的客户 — 向厂商要最新 SLA 文本,以及 BYOC 下可用性怎么度量
24 合规覆盖面窄 只列 SOC 2 Type II、ISO 27001、GDPR;FedRAMP 原文是「align with」S20 BYOC 下数据面在客户账号里,底层 EC2 / S3 本身在 AWS 合规范围内;差距在于 AutoMQ 作为运维方没有 PCI AOC,不能签 BAA ⇒ 需要客户合规团队确认,不等于「不能用」 PCI、HIPAA、美国联邦负载 MSK「These include PCI and HIPAA BAA」M8;FedRAMP Moderate(东 / 西)与 High(GovCloud)M8 向 Trust Center 申请 SOC 2 报告,看报告期和系统描述是否覆盖 BYOC 运维
25 24/7 支持要另外买 Production 档「最低 $1,000/月」才有 24/7 和 P1 1 小时响应;「Product subscription billed separately」;范围之外包括「performance testing」「disaster-recovery exercises」「upgrade execution」,以及「cloud infrastructure, networks, Kubernetes, object storage」引起的问题 S18 支持另外收费本身不是差异(AWS Support 同样另外收费)。真正的差异是 BYOC 出事故时要分别给两家开工单,以及「对象存储引起的问题」不在支持范围内 7×24 交易 / 支付链路 MSK 的补丁、升级、broker 替换都由 AWS 执行 M6 —
26 GitHub「Latest」显示的是 RC 1.7.5-rc2(2026-10-28)prerelease: false S38 影响小 自动拉「最新 release」的流水线会拉到 RC — —
27 Region 覆盖 BYOC 列了 30 个 AWS 商业 Region,没有 GovCloud 和中国区;Azure 只有 8 个 S8 「文档没列」不等于不能部署,要问厂商 GovCloud / 中国区客户 MSK 在 GovCloud 有 FedRAMP High 范围 M8 对照自己的 Region 清单
28 Table Topic 的限制 Schema Registry「supports only」Confluent SR 和 Aiven Karapace;「AutoMQ automatically deletes snapshots that are older than one hour」;默认错误策略 invalid_data 跳过坏记录,文档没有提 DLQ;「must be configured at the time of deploying the AutoMQ cluster」S43 作为向 AutoMQ 确认的问题(见 §4.9) 已经用 Glue SR 的 AWS 客户;需要 time travel 的客户 见 §4.9 见 §4.9
29 滚动重启后 broker IP 会变 Fresha 原文「after a rolling restart, the IP addresses of the cluster might change, but the AdminClient might still have the old IPs cached」,要设 metadata.recovery.strategy(原文拼作「reboostrap」)S40 IaaS / ASG 形态,单一用户报告;4.x 客户端默认就是 rebootstrap 还在用 3.x 客户端的 Connect、Debezium;按固定 IP 配白名单的防火墙 — Kafka 3.7 AdminClient + ASG instance refresh
30 「免维护窗口」是案例稿的说法,AutoMQ 自己的博客否认 AutoMQ 博客 FAQ 原文「Does AutoMQ eliminate Kafka maintenance windows? No. Production changes still require planning, monitoring, and coordination」S47(2026-06-01) 官方博客原文。AWS 实测商业版:在线升级 5.5.6 → 5.5.7 用时 580 s、最大停顿 2.9 s、0 丢(测试记录 §10.2);FSx 换档 384 → 768 MBps 用时 52.7–53.9 min、期间尖刺 ≤ 3.1 s(测试记录 §7.12、§10.9) 因为 MSK 打补丁时的尖刺而考虑迁移的客户 Standard / Express 重启实测见 #4 逐台重启 AutoMQ broker,按秒记 p99 和失败数,与 实测同口径对比
31 独立证据稀薄 AWS Marketplace 两个商品分别是「0 ratings」和「1 ratings」S46;ToS 1.4(g) 禁止发布商业版基准 S15;公开延迟数据全部是厂商自测或联合发布 影响低 做采购评估的客户:拿不到同行的独立负面样本 — 要求两个同行业、非日志类负载、可以直接通话的参考客户
32 厂商 FSx p99 12.87 ms 来自一次短测试;长跑实测 p99 稳定,长尾在百毫秒级 博客里的压测命令带 --record-size 52224(约 51 KiB 大消息)、--test-duration 5 S21。AWS 实测(AutoMQ 5.5.7,测试记录 §10.19、§10.9):单分区 20k msg/s 浸泡 4 h(2.88 亿条)p50 / p99 / p99.99 / max 6.16 / 7.87 / 32.65 / 235.6 ms,有 3 s 超过 100 ms;24 分区 2 h 浸泡 p99.99 55.85 ms、max 238.7 ms 厂商短测与实测负载不同(51 KiB vs 200 B),两组数字不宜直接比 拿这个数字做低延迟选型的客户 — EFS WAL 下同样跑长测,记 p99 / p99.99 / max,以及 FSx / EFS 月费

AutoMQ 在这些方面并不弱

以下几点常被拿来比较,但并不构成 AutoMQ 的劣势:

  • 只赔服务抵扣:MSK 的 SLA 同样以服务抵扣赔付。
  • 支持要另外付费:AWS Support 同样另外收费。
  • 不允许做安全测试:AWS 渗透测试的免审批清单里同样没有 MSK M18。
  • SLA 纸面数字:AutoMQ 的 99.95% 高于 MSK 的 99.9% S17M13。
FAQ

常见问题

AutoMQ 对 MSK 的常见说法,逐条给出依据。

Q1「AutoMQ 说比 MSK 便宜 64%(或 31% / 66%)。」+

答:那个数字的算术是对的,但有几个前提:MSK 没开 follower fetching;Standard 用的是 26 台上一代 m5.large、没开 tiered;AutoMQ 一侧是 S3 WAL,计算器自己标的是「Latency ~500ms」。开 follower fetching 后,对 Express 的节省约 6.5%(vs-msk 那个负载);计算器默认负载下,按 Express 每 broker 分区上限配齐 broker 后,AutoMQ 对 Express 仍便宜约 44%、对 Standard + tiered 约 10%,分区 ≤ 1,000 时 MSK Standard + tiered 反而便宜约 16%(§4.3.3)——而这些 AutoMQ 价格都对应 S3 WAL 档。另外,它的 FAQ 把 MSK 不收取的 broker 复制费算了进去 M1(§4.3.2)。建议用贵司真实的压缩后字节、保留期和读扇出,两边按同一口径重算。

Q2「AutoMQ 也能做到毫秒级。」+

答:能。商业版 + FSx WAL 单分区 200 B 写入确认 p99 7.75 ms、24 分区 7.6–15.9 ms,AWS 实测(AutoMQ 5.5.7,测试记录 §10.12、§10.3),同规格、各自调优的同轮对照(r4,m7g.xlarge 级):AutoMQ 7.83 ms、MSK Express 7.96 ms、MSK Standard 4.58 ms(测试记录 §11.9),与 MSK 同一量级,我们不否认;但故障时的停写比 MSK 长(kill -9 15–27 s,FSx 首选 AZ 网络分区 120–146 s,S3 不可用 300 s 时 106–136 s,测试记录 §10.4、§10.5、§10.6)。请确认三点:① 开源版只有 S3 WAL,AutoMQ 自己写的是「P99 600+ milliseconds」S2;② FSx 是额外付费的存储,Multi-AZ 只覆盖 2 个 AZ S45;③ 贵司看到的「低延迟」和「零跨 AZ」是不是同一种 WAL 配置——AutoMQ 文档要求零跨 AZ 必须用 S3WAL S3,而它的博客说 FSx 也能做到,两者说法不一致,请让厂商书面确认。

Q3「AutoMQ 的 broker 是无状态的,扩缩容只要几秒。」+

答:扩缩不搬数据是真的,这是它的优势。实测商业版在线扩缩 3 ↔ 6 broker 期间写入最大延迟 0.1–0.3 s,受控关闭最大确认 2.4–2.52 s,AWS 实测(AutoMQ 5.5.7,测试记录 §10.9);#3669 仍是 open S33。停写主要来自故障:kill -9 单 broker 最长零确认 15–27 s,FSx 首选 AZ 网络分区时全集群 120–146 s,单分区在短 delivery 超时下可能永久卡死(测试记录 §10.4、§10.5、§10.8)。MSK Express 有「scale up to 20x faster」和默认开启的自动再平衡 M3M5。建议 PoC 时测 kill -9 后每个分区的不可写时长。

Q4「MSK 的 ZooKeeper 集群没法升级到 KRaft,反正都要迁一次。」+

答:这一说法已经过时。MSK 从 2026-08-10 起支持原地 ZK→KRaft 迁移,「without provisioning new infrastructure」,前提是先升到 3.9.x M9(2AZ 的 Standard 集群除外)。AWS 在东京区的 MSK 实测(3 × m7g.large 小集群):有客户端记录的约 3 小时里 0 条发送失败、最坏一秒 49.7 ms(迁移开始后前 74 分钟没有客户端记录)。

Q5「MSK 没有 Topic API,也没有 Terraform 支持。」+

答:这一说法也已过时。2026-02-11 起有 CreateTopic / UpdateTopic / DeleteTopic(加上原有的 List / Describe),要求 Kafka 3.6+ M10;Terraform aws_msk_topic 在 v6.38.0(2026-03-25)发布 M21。ACL / quota 目前还没有 MSK 原生 API,这一点如实说明。

Q6「MSK 要手动再平衡、要为闲置 EBS 付钱。」+

答:对 Standard 属实。Express 存储按实际用量计费 M3,Intelligent Rebalancing 对新集群默认开启、不额外收费 M5(2025-11-20 之前建的 Express 集群默认是 Paused)。

Q7「MSK 打补丁时会有延迟尖刺。」+

答:会有。官方口径是 p99「typically high milliseconds, up to ~2 seconds」M6;AWS 在东京区的 MSK 实测中,单 broker 重启最坏一秒 p99 是 1.14 s 实测(Standard)/ 1.34 s 实测(Express),0 条失败(3 × *.m7g.large;xlarge 另测(11-08,单分区三路审计流最坏一秒):Standard 1.10–2.24 s、Express 2.29–2.61 s,与 large 一致(测试记录 §12.3))。客户端 request.timeout.ms 用默认 30 s 时,升级中出现过一次 30.65 s 实测的停顿,建议调到 10 s 量级(前提是开了幂等)。AutoMQ 自己的博客也写「Does AutoMQ eliminate Kafka maintenance windows? No.」S47,它的受控重启同样有秒级写延迟问题 S33:实测受控关闭最大确认 2.4–2.52 s,在线升级 5.5.6 → 5.5.7 最大延迟 2.9 s、0 丢,AWS 实测(AutoMQ 5.5.7,测试记录 §10.9、§10.2)。

Q8「AutoMQ 是开源的,不锁定。」+

答:开源版是 Apache 2.0,属实。但生产需要的低延迟 WAL、多 bucket 容灾、慢节点隔离、不停机迁移工具都在商业版 S2;Kafka Linking 只能迁入 AutoMQ S11;S3 上是私有格式,迁出要全量复制(§0 #12)。MSK Replicator 把 AutoMQ 列为兼容源(需要 SCRAM 或 mTLS)M2,迁回路径是存在的。

Q9「AutoMQ 的 SLA 是 99.95%,比 MSK 高。」+

答:纸面数字属实(MSK Multi-AZ 是 99.9%)。请注意:AutoMQ 的 SLA 文本最后更新于 2023-12-16,「不可用」只按 produce 失败超过 1 分钟定义;BYOC 下云资源可用性由客户负责;赔付基数是付给 AutoMQ 的服务费 S17。两边都只给服务抵扣。

Q10「AutoMQ 有很多大厂客户。」+

答:公开案例确实不少,但几乎都是日志、可观测性、数据总线、CDC 这类延迟不敏感的负载;公开资料中没有找到低延迟负载的生产 p99。另外,AutoMQ ToS 禁止发布商业版的基准和性能信息 S15,所以外界很难拿到独立数据。建议请 AutoMQ 提供同行业、非日志类负载、可以直接通话的参考客户。

Q11「MSK Express 是黑盒,听说底层就是 tiered storage。」+

答:Express 闭源是事实;「听说」是传闻,AutoMQ 页面上也没有给出证据。AWS 公开的是 Express 的行为和约束:RF3 / minISR 2、按用量计费的存储 M3M20;Express 文档没有列出 tiered 那种「最少 3 天远端保留」的限制(依据是文档未列,属推断)。建议按 SLA、配额和实测评估,而不是按实现猜测。

Q12「MSK Serverless 只有 200 MBps。」+

答:属实,Serverless 的入向上限是 200 MBps、出向 400 MBps M12。高吞吐负载请用 Express 或 Standard。


Deep dive

深入阅读

架构逐环节对比、6 种形态的完整对比表,以及延迟、弹性、成本、可靠性、兼容性等 13 个专题。

架构:复制 vs 对象存储 WAL(逐环节)+
环节 MSK(Apache Kafka,shared-nothing) AutoMQ(S3Stream,共享存储)
写入耐久性来自哪里 leader 写本地盘,ISR 中的 follower 跨 AZ 拉取复制;acks=all 表示至少写到 minISR 个副本(Express 固定 RF3 / minISR 2 M20) 「Once the data is successfully written to WAL, confirmation is returned to the client」S1;Kafka 层 RF=1(#3686 的环境中是 replicas=[1000], isr=[1000] S30);耐久性取决于 WAL 介质:S3 WAL 跨 AZ,EBS WAL 只在单 AZ,FSx 横跨 2 个 AZ S1S45
写 ack 延迟由什么决定 网络 RTT + 一轮复制(AWS 在东京区的 MSK 实测 p99 为 4.58–17.6 ms(调优后 4.58 ms,kafka.m7g.xlarge;默认 in-flight 5 时 17.6 ms,m7g.large),取决于客户端参数,见 §4.1)实测 S3 WAL:攒批(默认 250 ms / 8 MiB S12)+ S3 PUT;EBS / EFS / FSx WAL 为毫秒级,但只在商业版
存储 Standard:每个 broker 预置 EBS,三个副本都计费;可开 tiered storage(远端按单份计费)M7。Express:按实际用量计费的托管存储,「elastic, virtually unlimited, pay-as-you-go」M3 S3 存单份,后台做 compaction;对象元数据存在 KRaft 里 S14
跨 AZ 流量 broker 间复制免费 M1;客户端与 broker 之间的跨 AZ 流量按标准数据传输费收取(每个方向 $0.01/GB);consumer 侧可用 follower fetching 消除 producer 侧经 S3 中转给 leader(ZeroZone),文档要求 S3WAL S3;consumer 侧读本 AZ 的只读副本,依赖 KIP-881 + client.rack S3
换 leader / 迁移 切到 ISR 中已同步的 follower,数据不动;Standard 扩容要搬数据,Express 宣称「scale up to 20x faster」M3 先把未上传的 WAL 数据刷到 S3,再在另一个 broker 上打开分区,数据不动;在线扩缩 3 ↔ 6 broker 期间写入最大延迟 0.1–0.3 s,kill -9 单 broker 后最长零确认 15–27 s,AWS 实测(AutoMQ 5.5.7,测试记录 §10.9、§10.4)
冷读 / 追读 读本地 EBS + page cache;AWS 在东京区的 MSK 实测中,Standard 在每 broker 写入超过 gp3 卷 250 MiB/s 吞吐基线(≈ 270 MB/s 灌入,3 × m7g.large)后出现过 p99 42 s 的停顿;轻写入时冷读只让 p99 增加 0.44 ms 读 S3,与写路径隔离(30 GB 历史回读期间写路径最大延迟 257 ms,AWS 实测(AutoMQ 5.5.7,测试记录 §10.14))

各自的代价(基于上表事实的判断):

  • MSK 的代价:客户端跨 AZ 费,其中有 key 写入时 producer → leader 这一段无法消除;Standard 的存储按三副本预置;Standard 扩缩容要搬数据;打补丁要滚动重启(AWS 在东京区的 MSK 实测,每台 broker 约 1 s 尖峰;xlarge 另测(11-08,单分区三路审计流最坏一秒):Standard 1.10–2.24 s、Express 2.29–2.61 s,与 large 一致(测试记录 §12.3) 实测);没有 RI / Savings Plans(FAQ 原文「No, Not at this time.」M2)。
  • AutoMQ 的代价:写延迟要么受 S3 PUT 限制(开源版),要么要额外购买一个有状态的 WAL 存储(商业版:EBS 单 AZ / EFS / FSx 2-AZ);S3 成为写路径的硬依赖;故障切换从「切到热备」变成「重新打开 stream」;存储引擎是自研代码,2026 年修过两类数据丢失 / 损坏缺陷(见 §0 #2);内核是 fork,停在 3.9;S3 请求费是新增的固定成本。

两种架构搬运的字节量相当,AutoMQ 只是把 broker 间复制换成了 broker 与 S3 之间的流量。AutoMQ 文档原文:「each data write from a client translates into three network writes by the server」S13。在 AWS 上,同 Region 访问 S3 不收传输费,所以这笔账在成本上成立。但「没有复制」不等于网络字节消失了;同时 Kafka RF3 的出向流量也在同一量级,这一点本身不构成 AutoMQ 的劣势。

完整对比总表(6 种形态)+

格内编号对应来源列表。「—」= 不适用;「未公开」= 没有找到公开信息;⏳ = 来源早于 2025-10-29,超过 12 个月,可能过时。MSK 三列的时延与重启数据为 AWS 在东京区的 MSK 实测:时延按 r4(kafka / express.m7g.xlarge,客户端调优)与早一轮(*.m7g.large)分别标注;重启数据为 *.m7g.large。

列定义:AutoMQ BYOC = 控制面 + 数据面都部署在客户云账号里的商业版 S19;AutoMQ Cloud = docs.automq.com/automq-cloud/* 文档描述的范围(restrictions 页的限制写在这里 S8;SLA 文本里提到的厂商账号托管 SaaS 形态是否在售:未公开)。另列开源版,因为 AutoMQ 的多数不足(§0)按版本区分。

维度 MSK Standard MSK Express MSK Serverless AutoMQ 开源版 AutoMQ BYOC AutoMQ Cloud(文档范围)
交付模型 AWS 托管,broker 在服务账号里,通过 ENI 接入客户 VPC 同左 全托管,免容量规划 M19 自建自运维 S2 部署在客户账号里,由 AutoMQ 远程运维 S19 同 BYOC 文档
写 ack p99(测试条件各不相同,见 §4.1) 4.58 ms(r4,xlarge,调优)/ 17.6 ms(m7g.large,默认 in-flight 5)[LAB] 7.96 ms(r4,xlarge,调优)/ 8.0–10.4 ms(large,in-flight 1)[LAB] 7.18 ms(in-flight 1,IAM)[LAB] 「P99 600+ milliseconds」S2;基准 P99 823 ms S23 FSx WAL 7.83 ms(r4,单分区 200 B)/ 7.6–15.9 ms(24 分区),AWS 实测(AutoMQ 5.5.7,测试记录 §11.9、§10.3);EBS WAL 稳态 p99:未公开;EFS WAL:未公开 同 BYOC
Kafka 层副本 RF 可配(通常 3) 固定 RF3 / minISR 2 M20 默认 RF3 / minISR 2(AWS 在东京区的 MSK 实测) RF=1 S30 RF=1 RF=1
broker 间复制费 0 M1 0 M1 0 —(无复制) — —
客户端跨 AZ 费 收;consumer 侧用 follower fetching 可降到约 0 收;可配 replica.selector.class M4 同 Region 客户端流量不另收传输费 M2 前提满足时 producer / consumer 都约 0(S3WAL、3 AZ、均衡、改 client.id)S3 同左;FSx WAL 宣称「near-zero」,与其文档说法不一致 S21S22 同 BYOC
存储计费 每副本预置 EBS $0.10/GB-月;tiered $0.06(单份)M1 $0.10/GB-月,按用量(单份)M1 $0.10/GB-月 M1 S3 $0.023 + 请求费(客户自付) S3 + 请求费 + AutoMQ 保留费 $0.005–0.01/GiB-月 S27 同 BYOC
计算 / 吞吐计费 broker 小时(m7g.large $0.204/h,us-east-1)M1 broker 小时(express.m7g.large $0.408/h)+ 写入 $0.01/GB M1 集群小时 + 分区小时 + 写入 $0.10 / 读出 $0.05 每 GB M1 EC2 自付 EC2 自付 + 写入 $0.008–0.02/GiB + 读出 $0.00275–0.0067/GiB + $0.411/h S27;或 AKU $146/月(30 MiB/s 写或 60 MiB/s 读)S46 同 BYOC
承诺折扣 无 RI M2 无 RI 无 RI EC2 可用 RI / SP / Spot 同左 —
扩缩容 扩容要搬数据;可以删 broker,但要先把分区迁走(「first move all partitions … from the brokers you plan to remove」M24);EBS 不能缩 「scale up to 20x faster」(相对 Standard,未给绝对秒数)M3 自动 M19 迁移最大发送延迟 2.2 s;0→1 GiB/s 扩容约 4 分钟(厂商自测)S25 在线扩缩 3 ↔ 6 broker 期间写入最大延迟 0.1–0.3 s;FSx 换档 384 → 768 MBps 用时 52.7–53.9 min、期间尖刺 ≤ 3.1 s,AWS 实测(AutoMQ 5.5.7,测试记录 §10.9) 同 BYOC
自动再平衡 无(需自管 Cruise Control) Intelligent Rebalancing,新集群默认开启、免费 M5 托管 只看网络吞吐 S2 网络 + QPS + 冷读积压 + 慢节点隔离 S2 同 BYOC
维护 滚动重启;p99「up to ~2 seconds」M6;实测 1.14 s 实测 「no maintenance windows」,仍有单 broker 重启;实测 1.34 s(3 × express.m7g.large;xlarge 另测(11-08,单分区三路审计流最坏一秒):Standard 1.10–2.24 s、Express 2.29–2.61 s,与 large 一致(测试记录 §12.3)) 实测 托管 自行维护 托管;AutoMQ 自己的博客表示不能消除维护窗口 S47;#3669 仍为 open S33;在线升级 5.5.6 → 5.5.7 用时 580 s、最大延迟 2.9 s、0 丢,受控关闭最大确认 2.4–2.52 s,AWS 实测(AutoMQ 5.5.7,测试记录 §10.2、§10.9) 同 BYOC
Kafka 版本 4.0 / 4.1(及 3.x)M11 3.6、3.8、3.9、4.2 M3 未公开 3.9.x 内核 S5 兼容「0.9.0.x ~ 3.9.x」(release notes) 同 BYOC
认证 IAM、SCRAM、mTLS、未认证 M16 同左 只支持 IAM M19 Kafka 原生(SCRAM / PLAIN / mTLS) SCRAM / PLAIN / mTLS,文档未列 IAM / OAUTHBEARER S9 同 BYOC
静态加密 KMS,可用客户托管密钥(CMK)M23 同左(以 Express 文档为准) KMS(是否支持 CMK:以 Serverless 文档为准) 自管 云厂商托管密钥,不支持 BYOK,只在 AWS,建好后不能改 S10 同 BYOC
合规 PCI、HIPAA BAA、SOC、FedRAMP M8 同左(以服务范围页为准) 同左(以服务范围页为准) — SOC 2 Type II、ISO 27001、GDPR S20;BYOC 底层资源在客户账号里 同 BYOC
SLA Multi-AZ 99.9%,服务抵扣 M13 ⏳ SLA 页早于 Express 发布,未单列 未单列 无 99.95%,服务抵扣,只按 produce 定义可用性 S17 ⏳ 同左
多云 AWS AWS AWS 任意 S3 兼容存储 AWS / GCP / Azure / OCI 同左
入湖 不支持 Data Delivery Data Delivery to S3 / Streaming Tables(Iceberg),2026-07-30 GA M14 不支持 Table Topic 是否在开源版:未公开 Table Topic(Upsert / CDC、Avro / Protobuf、多种 Catalog)S43 同 BYOC
迁移工具 MSK Replicator(外部源含 AutoMQ)M2M15 同左 — MM2(「requires downtime」)S2 Kafka Linking,只能迁入,不支持 MSK IAM 源 S11 同 BYOC
单分区 / 配额限制 broker 规格配额;每 broker 分区数有推荐值,超出时拒绝配置变更(HighPartitionCountException,AWS 在东京区的 MSK 实测);单分区实测 batch 256 KiB + zstd 后 200k msg/s × 200 B(kafka.m7g.xlarge) 单分区写「Max 15 MB/s」(实测 ≈ 22 MB/s,超过文档值,express.m7g.xlarge);每 broker 分区数(含副本)推荐 / 最大,如 large 1000 / 1500 M12 ingress 200 MBps、egress 400 MBps、2,400 个 leader 分区 M12 未公开;实测 1.7.4 调大批后 100k msg/s 跟上,p50 ≈ 355–365 ms 未公开;实测 200k msg/s(batch 256 KiB + zstd)p99 8.66 ms 单分区读写各 4 MBps,offsets 固定 7 天,保留期 ≤ 60 天 S8
GovCloud / 中国区 GovCloud 在 FedRAMP High 范围内 M8 同左 以 Region 表为准 自建 文档未列 S8 同左
4.1 延迟+

AWS 在东京区的 MSK 实测(m7g.large × 3 AZ,集群内 TLS,200 B,1,000 msg/s,acks=all,客户端与 leader 同 AZ,2026-10-28):

形态 / 客户端参数 写 ack p50 / p99 E2E p50 / p99
Standard,in-flight 1,linger 0 3.28 / 5.72 ms 实测 3.6 / 6.2 ms
Standard,默认 in-flight 5,linger 0 11.5 / 17.6 ms 实测 —
Standard,linger 5 + in-flight 5(4.x 默认组合) 5.1–5.3 / 8.0–8.3 ms —
Express,in-flight 1,linger 0 3.6–3.9 / 8.0–10.4 ms —
Express,linger 0 + in-flight 5 13.0–13.6 / 21–30 ms —
Serverless(IAM,in-flight 1) 5.35 / 7.18 ms 6.08 / 8.20 ms
Standard RF3,leader 在远 AZ 5.74 / 8.05 ms 5.87 / 8.34 ms

AutoMQ 数字(厂商公布值条件各不相同;FSx WAL 另有 AWS 实测行):

WAL p99(写 / send) E2E p99 条件 来源
S3 WAL(开源) 823 ms(P999 1,049) 1,189 ms 1 GiB/s,6 节点,256 分区,1 KiB,linger.ms=100 S23
S3 WAL 489 ms(send) — 条件未完整公开 S24
S3 WAL(对比表) 「600+ milliseconds」 — 未给条件 S2
FSx WAL(AWS 实测,5.5.7,200 B) 单分区 7.75 ms(p50 6.64);24 分区 1k–50k msg/s 时 7.6–15.9 ms;4 h 浸泡 p99.99 32.65 ms、max 235.6 ms — 3 × m7g.xlarge,FSx 384 MBps 档,3 AZ,1,000 msg/s,acks=all + 幂等,in-flight 5 / linger 1 测试记录 §10.12、§10.3、§10.19
FSx WAL(AWS 实测,5.5.7,r4 调优) 单分区 1k 7.83 ms(p50 6.71);1k–200k 7.74–9.10 ms;1 h 浸泡 p99.99 33.75、max 88.82 ms — 3 × m7g.xlarge,单 FSx,batch 256 KiB · zstd · in-flight 5 · linger 1 测试记录 §11.9
FSx for ONTAP WAL 12.87 ms(avg 5.98) 18.04 ms 厂商公布,约 51 KiB 大消息、5 s 短测;3 × m7g.4xlarge,300 MBps S21
FSx for ONTAP WAL 17.50 ms(avg 6.34) 28.00 ms 厂商公布;6 × m7g.4xlarge S22
EBS / EFS WAL 未公开 未公开 — —

解读:

  1. 厂商公布值不能与 MSK 实测直接横比(大消息、短测)。AWS 已按接近 MSK 实测的负载(200 B、1,000 msg/s、acks=all、3 AZ)实测 AutoMQ 商业版 FSx WAL:单分区 p99 7.75 ms,24 分区 p99 7.6–15.9 ms,AWS 实测(AutoMQ 5.5.7,测试记录 §10.12、§10.3)。同规格、各自调优的同轮对照(r4,m7g.xlarge 级):1k p99 Standard 4.58 / AutoMQ 7.83 / Express 7.96 ms(测试记录 §11.9)。
  2. MSK 的延迟主要由客户端参数决定。 默认 in-flight 5 + linger 0 是最差组合(p99 17.6 ms 实测);MSK 换成 in-flight 1(p99 5.72 ms)或 linger 5 + in-flight 5(8.0–8.3 ms)后,与 AutoMQ + FSx 实测的 7.6–15.9 ms 同一量级(AutoMQ 用默认客户端、zone router 开时 p99 13.75 ms,AWS 实测(AutoMQ 5.5.7,测试记录 §10.3))。同规格、各自调优后(r4,m7g.xlarge 级)1k p99 Standard 4.58 / AutoMQ 7.83 / Express 7.96 ms:调优消除了默认参数的差距,AutoMQ 仍比 Standard 高约 3 ms(与 Express 持平),这部分来自 AutoMQ 每条写都要过一次 FSx NFS 同步写,是架构差(测试记录 §11.9)。建议 MSK 用 batch.size 256 KiB + zstd(level 1)+ in-flight 1 + linger 0 + 幂等,同一套配置低速与高速都最优(200k 时 in-flight 5 + linger 5 为 5.64 / 8.36 ms,慢于 4.30 / 5.84 ms)。
  3. AutoMQ 一侧的事实:开源版 / S3 WAL 的 p99 在数百毫秒到秒级;商业版 + FSx 与 MSK 同一量级——「sub-10ms P99」在小消息、单分区下成立:推荐客户端默认 16 KiB 批时 ≤ 20k msg/s(p99 7.64–7.93 ms);batch 256 KiB + zstd 后 1k–200k p99 7.74–9.10 ms(测试记录 §11.9);多分区高速率时 p99 最高 15.9 ms,单分区 4 h 浸泡 p99.99 32.65 ms、max 235.6 ms,AWS 实测(AutoMQ 5.5.7,测试记录 §10.12、§10.3、§10.19);EBS / EFS WAL 的稳态 p99 未公开。
  4. follower fetching 是降本手段,不是降延迟手段:E2E 会多 2.2 ms(3 × m7g.large)实测vs 实测。
  5. 公平地说:AutoMQ 在「冷读与写入隔离」上有架构优势。AWS 在东京区的 MSK 实测中,MSK Standard 在每 broker 写入超过 gp3 卷 250 MiB/s 吞吐基线(≈ 270 MB/s 灌入,3 × m7g.large)后出现过 p99 42 s 的停顿;轻写入时冷读只让 p99 增加 0.44 ms 实测→ 实测。MSK 侧的应对:预置卷吞吐、tiered storage(远端读不占本地卷)、Express。

建议向 AutoMQ 提的问题:在贵司的负载(消息大小、速率、acks=all、3 AZ)、指定 WAL 类型下,produce 与 E2E 的 p50 / p99 / p99.9 分别是多少?EBS / EFS WAL 的稳态 p99 是多少?

如何在 PoC 中自己验证:EC2 上部署 AutoMQ 开源 1.7.x(3 AZ × 3 × m7g.xlarge,S3 WAL 默认参数),用与上表相同的负载(200 B、1,000 msg/s、acks=all、linger 0,in-flight 1 和 5 各一组),再加一组 10 MiB/s × 1 KB、linger 5;记录 produce p50 / p99 / p99.9 和 E2E p99,同 AZ 与远 AZ consumer 分开记录。MSK 侧用默认参数和调优参数各报一套。商业版试用的结果仅供内部评估。

4.2 弹性与扩缩容+
  • AutoMQ:分区迁移只需上传尚未上传的 WAL 数据,文档写「typically within about 1.5 seconds」S25。商业版 FSx WAL 在线扩缩 3 ↔ 6 broker 期间写入最大延迟 0.1–0.3 s,AWS 实测(AutoMQ 5.5.7,测试记录 §10.9);0 → 1 GiB/s 扩容 ≈ 4 分钟为厂商自测(对照 Kafka 3.6.0)S25,未实测。同一家厂商的口径不一:vs-msk 页写「in seconds」,vs-kafka 页写「Scale from 3 to 30 brokers in minutes」。
  • MSK:Express「scale up to 20x faster, and recover 90% quicker」(相对 Standard,未给绝对秒数)M3;Intelligent Rebalancing「automatically rebalances partitions when you scale clusters up or down」,新建 Express 集群默认开启 M5。Standard 扩容需要搬数据;可以删 broker(「You can remove brokers from all M5 and M7g based MSK provisioned clusters」,Kafka 2.8.1 及以上),但删除前需要先手工迁走分区 M24;EBS 不能缩容。
  • 解读:
    • 在「扩缩不搬数据」这一点上,AutoMQ 的优势是真实的,Standard 比不过;Express 缩小了差距,但没有公开的绝对时长可比,需要 PoC。
    • AutoMQ 的代价:计划内扩缩的写停顿很小(实测 0.1–0.3 s,测试记录 §10.9);更长的停写来自故障路径(kill -9 15–27 s、FSx 首选 AZ 网络分区 120–146 s,见 §4.4)。持续自平衡意味着迁移更频繁;open issue #3669 的诉求之一正是「allow recently moved partitions to settle」S33。
    • AutoMQ BYOC 的 SLA 把「ensure cloud resource availability」划给客户 S17:EC2 容量不足导致扩不上去时,责任在客户。
    • 开源版自平衡原文为「Basic scheduling strategy, balancing network throughput only」S2。

建议向 AutoMQ 提的问题:持续自平衡下,每小时会触发多少次分区迁移?每次迁移期间 producer 看到的最大发送延迟和错误码是什么?

如何在 PoC 中自己验证:在 AutoMQ 开源 1.7.x 上持续写入,触发扩容与再平衡,按秒记录 produce p99、NOT_LEADER_OR_FOLLOWER 计数和每个分区「最后一次成功写 → 下一次成功写」的间隔;MSK Express 用同一脚本扩容对照。

4.3 成本与 TCO+

说明:本节所有算例都是推导,没有经过 AWS Pricing Calculator 复核,不是报价;请按自身负载重算。

4.3.1 AutoMQ vs-msk 页「64% COST SAVINGS vs MSK Standard」的隐含前提

负载原文:「100 MiB/s write · 300 MiB/s read · 5,000 partitions · 72h retention」S26。图上不显示数值,下列数字按柱高换算(误差约 ±$1):

项($/月) MSK Standard MSK Express AutoMQ
Compute 并入 Managed 并入 Managed 357
Storage 并入 Managed 并入 Managed 1,173
Cross-AZ 13,688 13,688 0
Managed Service 19,174 9,267 10,329
合计 32,862 22,955 11,859

算术成立,但前提有偏:

  1. MSK 没开 follower fetching。 跨 AZ $13,688 = producer $3,422 + consumer $10,266。开启 follower fetching 后 consumer 段约为 0 ⇒ MSK Standard $22,596、Express $12,689;AutoMQ 的节省从 64% / 48% 降到约 47.5% / 6.5%(推导,未实测)。AutoMQ 自己的计算器也体现了这一点:把「Fetch From」从 Leader 切到 Follower 后,MSK Standard 从 $4,841 降到 $4,499 S27。
  2. Standard 用的是上一代 26 × m5.large,存储按 RF3 ÷ 50% 磁盘利用率计,没开 tiered storage。
  3. AutoMQ 一侧跨 AZ 为 0,对应的是 S3 WAL 档(按文档前提 S3)。计算器自己把这一档标为「Latency ~500ms」S27,而 MSK 一侧是毫秒级,延迟档位不对等。
  4. AutoMQ 自己的「Managed Service」$10,329,高于 MSK Express 的 broker + 存储 + 写入费合计($9,267);它相对 Express 的优势全部来自跨 AZ 一项。
  5. 存储单价只写了 S3 部分(「0.024USD/GB/M」),没有计入 AutoMQ 自己按 GiB 收的保留费,也没有计入 S3 请求费 S26S27。

建议向 AutoMQ 提的问题:在 MSK 开启 follower fetching、使用当代实例和 tiered storage、并且 AutoMQ 使用与 MSK 同一延迟档位的 WAL 时,节省比例是多少?

4.3.2 FAQ 中的复制费说法

  • AutoMQ vs-msk 页 FAQ 原文:「a 100 MB/s workload generates over $10,000/month in replication transfer fees alone」;「cross-AZ fees alone — including producer writes, broker replication, and consumer reads — add up to over $17,000/month」。
  • 事实:MSK 不收 broker 间复制费 M1;AutoMQ 自己 2026-06-13 的博客也写「MSK does not charge for data transfer used for replication between brokers」S29。复算(推导):100 MiB/s ≈ 256,641 GiB/月;producer 段 2/3 × $0.02 ≈ $3,422;consumer 段(扇出 1、读 leader)≈ $3,422,开启 follower fetching 后约为 0 ⇒ MSK 上约 $3,422–6,844/月,不是「over $17,000」。

4.3.3 AutoMQ 定价计算器默认场景,按公平基线重算

计算器默认值原文:「WAL: S3 WAL, Fanout: 1, Requests: 2,000/s, Partitions: 2,000, Retention: 168h」;反推平均写入约 10 MiB/s;us-east-1 S27。

方案 月成本 与 AutoMQ $1,664 比 说明
AutoMQ(S3 WAL) $1,664 — EC2 $84 + EBS $5 + S3 存储 $136 + S3 请求 $395 + Uptime $300 + 写入 $513 + 读出 $172 + 保留 $59;其中付给 AutoMQ $1,044 S27
MSK Standard,计算器原口径 $4,841 AutoMQ 称省 66% 4 × m5.large;存储 35,438 GiB = 逻辑量 × 6(RF3 × 50% 利用率);读 leader
MSK Express,计算器原口径 $2,425 AutoMQ 称省 31% 3 × m7g.large $894 + 存储 $591 + 写入 $257 + 跨 AZ 342 + 342
MSK Express + follower fetching,6 × express.m7g.large(每台 1,000 个副本 = 推荐值) ≈ $2,976 AutoMQ 便宜约 44% $2,083 − $894 + 6 × $0.408 × 730($1,787);3 × express.m7g.xlarge(推荐 1,000、最大 2,000,$0.816/h)同为 $1,787(推导)
MSK Express + follower fetching,分区 ≤ 1,000(3 × express.m7g.large 即可) ≈ $2,083 AutoMQ 便宜约 20% 仅在分区 ≤ 1,000 时成立
MSK Standard 6 × m7g.large + tiered(本地保留 12 h)+ follower fetching ≈ $1,843 AutoMQ 便宜约 10% broker $894(2,000 分区 × RF3 = 6,000 副本,按每 broker 1,000 个推荐值配 6 台)+ 本地 EBS $253 + tiered $354(5,906 GiB × $0.06)+ producer 跨 AZ $342
同上,但分区 ≤ 1,000(3 × m7g.large 即可) ≈ $1,396 MSK 便宜约 16% 同上
  • 为什么按 6 台配:2,000 分区 × RF3 = 6,000 个副本。放在 3 台 express.m7g.large 上每台 2,000 个,超过其最大值 1,500(推荐 1,000)M12,配置不可行;放在 3 台 Standard m7g.large 上每台 2,000 个,是推荐值的 2 倍,会被 MSK 的 HighPartitionCountException 拒绝,AWS 在东京区的 MSK 实测中 p99 也会恶化约 6 倍。
  • 两个重算都没有计入 tiered 的读回费($0.0015/GB),而且 AutoMQ 一侧是 S3 WAL(约 500 ms)。
  • 计算器单价与 AWS 公开价有出入,两个方向都有:MSK Serverless 的写入 / 读出按 $0.01 / $0.005 每 GiB 计,AWS 公开价是 $0.10 / $0.05 M1(这一项对 AutoMQ 不利);计算器给 MSK Express 配的 3 × express.m7g.large 承载 2,000 分区,超过了每 broker 分区最大值 M12(这一项对 MSK 有利)。建议对计算器中的每一项 MSK 单价逐项复核。
  • 小结(推导):在计算器默认负载(约 10 MiB/s、2,000 分区)下,按分区上限配齐 broker 后,AutoMQ(S3 WAL)比 MSK Express 便宜约 44%、比 Standard + tiered 便宜约 10%;分区 ≤ 1,000 时 MSK Standard + tiered 更便宜(约 16%)。AutoMQ 这个价位对应的是 S3 WAL(计算器标「~500ms」)。
  • 计算器没有计入的 AutoMQ 成本:24/7 支持的 Production 档「最低 $1,000/月」,「Product subscription billed separately」S18;低延迟档的 WAL 存储费(Real-time 档的 EFS 预留吞吐 $348/月;FSx 方案在 AutoMQ 博客示例中约 $8,000/月 S22);按读出流量收的 egress 费会随扇出增长(解读);AutoMQ 写入单价最高 $0.02/GiB,是 Express 写入费 $0.01/GB 的 2 倍 S27M1。
  • 小规模时的 S3 请求费:在上述默认场景下,AutoMQ 一侧 S3 请求费 $395/月,比 S3 存储($136)和 EC2($84)都高,折合约 $0.0154/GiB;它替客户省下的 producer → leader 跨 AZ 费,计算器给 MSK 算的是 $342/月(约 $0.0133/GiB)S27(推导)。即在这一档,S3 请求费比省下的 producer 跨 AZ 费还高约 15%。AutoMQ 自己也写道「achieving lower latency will increase the cost of S3 APIs」S23。
  • AutoMQ 自己承认的边界:「A small, stable, low-retention MSK cluster may not justify migration effort」;「If your cluster is tiny, the migration may not pay back quickly」S28(2026-05-06)。

如何在 PoC 中自己验证:AutoMQ 开源 1.7.x,每个 broker 的写速率按 1 / 5 / 16 / 32 / 64 / 170 MiB/s 扫一遍;用 S3 请求指标统计 PUT / GET 次数 × 单价,除以写入 GiB,得到每 GiB 的请求费,再与 MSK 侧 producer 跨 AZ 单价对比。

4.3.4 高吞吐时结论会反过来

  • 1 GiB/s 时,仅 MSK 无法消除的 producer 2/3 跨 AZ 费就约 $34,560/月(2,592,000 GiB × 2/3 × $0.02,推导),已经超过 AutoMQ 基准中的整个 TCO($12,899 S23)。
  • 真实用户:Fresha CDC 集群「from $3200/month to $1600/month in total (including the license cost)」,原 MSK 集群已开启 tiered S40(2026-05-22);原集群是否开启了 follower fetching 未公开。
  • ⇒ 吞吐越大、扇出越小、保留越长,AutoMQ 的成本优势越大。 这类负载在选型时,建议把成本与以下因素一并评估:所用 WAL 的延迟档位、「零跨 AZ」的 AZ 均衡前提、低延迟 WAL 闭源、RF=1 的故障窗口,以及 MSK 侧的降本手段(§4.3.5)。

4.3.5 MSK 的降本手段(按优先级)

手段 效果 来源 代价 / 边界
broker 间复制免费 自建 Kafka 中最大的一段跨 AZ 费,在 MSK 上为 0 M1 —
Follower fetching(KIP-392) consumer 跨 AZ 降到约 0;在 vs-msk 那个负载下一项就省 $10,266/月 M4 E2E +2.2 ms 实测;client.rack 必须填 AZ ID
KIP-1123 rack-aware partitioner 无 key 写入导向同 AZ 的 leader,AWS 在东京区的 MSK 实测 p50 −0.86 ms — 只对无 key、未指定分区的记录有效;需要 4.4 客户端;默认关闭
压缩(zstd level 1) AWS 在东京区的 MSK 实测吞吐为不压缩的 4.8 倍,p99 同时下降;同时减少跨 AZ、存储和 Express 写入费 — 必须用真实 payload 测,随机字节没有收益
Tiered storage(Standard) 每逻辑 GB 存储成本约为 EBS 的 1/6–1/5 M7 远端读吞吐约 1/7、首条 1.17 s 实测;最短远端保留 3 天,不支持 compacted topic M7
Express 存储按用量计费,无需预置;自动再平衡 M3M5 小时单价是同规格 Standard 的 2 倍;存储 $0.10/GB-月,约为 S3 的 4 倍
商务协议 EDP / PPA — MSK 没有 RI M2
4.4 可靠性 / DR+
  • AZ 级容错:MSK RF3 / minISR 2 跨 3 AZ M20。AutoMQ 取决于 WAL 介质:S3 WAL 跨 AZ;EBS WAL 只在单 AZ(§0 #9),而 AutoMQ WAL 表把 EBS WAL 的耐久性写成「Between 5 nines and 9 nines」S1,AWS 对 gp3 等卷写的是「99.8%-99.9% durability」S44;FSx 是 2 个 AZ 的 HA 对,切换「typically … less than 60 seconds」S45,实测 FSx 主备切换停写多分区 ≤ 6.5 s、单分区 3–7 s;但 FSx 首选 AZ 网络分区(约 60–80 s)时全集群多分区停写 120–146 s,单分区在短 delivery 超时(30 s)下 3 次中 2 次生产者永久卡死;非首选 AZ 分区为 22.7–30 s;broker 与 FSx 之间 NFS 切断 120 s 时停写 149 s、无自动隔离,AWS 实测(AutoMQ 5.5.7,测试记录 §10.5、§10.8、§10.9、§10.13);EFS 默认多 AZ S41。
  • 单 broker 故障:MSK 切到 ISR 中的热备副本,AWS 在东京区的 MSK 实测 RebootBroker:Standard 最坏一秒 p99 1.14 s(3 × kafka.m7g.large;xlarge 另测(11-08,单分区三路审计流最坏一秒):Standard 1.10–2.24 s、Express 2.29–2.61 s,与 large 一致(测试记录 §12.3))、0 条失败 实测;Express 最坏一秒 p99 1.34 s、0 条失败 实测。AutoMQ 在 Kafka 层只有一个副本,需要重新打开分区:商业版 kill -9 单 broker 16 / 16 次自愈,最长零确认 15–27 s(最大确认 18.4–34.2 s);受控关闭最大确认 2.4–2.52 s;0 丢 / 0 乱序 / 0 重复,AWS 实测(AutoMQ 5.5.7,测试记录 §10.4、§10.9)。上一版 5.5.6 在 15 次 kill -9 中有 3 次出现部分分区 32–44 min 不可写、需人工重启(测试记录 §9.3–§9.6),升级前务必确认版本。
  • 对象存储故障:AutoMQ 自己写道「object storage can still experience significant software failures, rendering AutoMQ services unavailable」;开源版只能用单 bucket,多 bucket(Round Robin / Failover / Replication)只在商业版 S14。商业版 FSx WAL 实测:S3 不可用 300 s 时停写 106–136 s,900 s 时停写 534–737 s,AWS 实测(AutoMQ 5.5.7,测试记录 §10.6、§10.10、§10.13)——S3 是写路径的硬依赖。360 的案例(厂商渠道发布)中,用户自建了备用集群 + DNS 切换 S49。
  • 跨 Region:MSK Replicator 支持 CRR / SRR,复制 topic 配置、ACL 和消费组 offset,「If an unexpected event occurs in a Region, you can failover to the other AWS Region」M15;AWS 在东京区的 MSK 实测同 Region 复制延迟 p50 约 280 ms / p99 约 527 ms 实测,即计划外切换时 RPO 约为 0.3–0.55 s 的写入量。AutoMQ 的 Multi-Region Cluster 在 Enterprise 档;其产品页宣称「RPO = 0」「Seconds-Level Failover (RTO ≈ 10s)」S51(页面未写版本 / 档位要求、前提和限制)。纸面上这强于 MSK Replicator 的异步复制,但没有独立验证,详见 §4.13。
  • 数据正确性(见 §0 #2):AutoMQ 自研存储引擎在 2026 年修过两类数据丢失 / 损坏缺陷(PR #3336:「The affected stream's data is permanently lost. This primarily affects compact topics (e.g. __consumer_offsets)」;PR #3416:「object storage may accept and persist the corrupted body」S32);#3686 中维护者明确修复「does not repair existing objects」S30。公开证据不支持「当前版本仍在丢数据」的说法;公平地说,这些缺陷公开在 GitHub 上,且响应很快(#3686 当天给出定位)S30。
  • SLA:AutoMQ 纸面上是 99.95% S17(2023-12-16 版本),高于 MSK Multi-AZ 的 99.9% M13。两边都只给服务抵扣 / 代金券,这一点不是差异。真正的差异在于:AutoMQ 只按 produce 定义「不可用」;BYOC 下「ensure cloud resource availability」由客户负责;赔付基数是付给 AutoMQ 的服务费,不含客户自付的云资源费 S17。

建议向 AutoMQ 提的问题:硬崩溃(kill -9、实例终止)后分区的接管时间是多少?对象存储不可写时 broker 的行为和恢复步骤是什么?升级到修复版本前已损坏的对象如何发现和修复?

如何在 PoC 中自己验证:

  • 故障接管:AutoMQ 开源 1.7.x,3 AZ × 3 broker,S3 WAL;200 个 Java producer 全部 enable.idempotence=true(其中 50 个带 transactional.id),每个 100 msg/s × 1 KB;依次做 kill -15、kill -9、强制停止 EC2,记录每个分区的不可写间隔(p50 / p99 / max)、每秒 produce p99、错误码计数和按序号校验的重复与丢失。MSK 用同一脚本跑 RebootBroker 对照。
  • 数据正确性:建 cleanup.policy=compact 的 topic,用 kafka-verifiable-producer / -consumer 有序写入并校验,跑 48 h,每 30 分钟对一台 broker 发 SIGTERM;结束后全量回读做 CRC 校验,检查 __consumer_offsets 中已提交 offset 是否回退。判据:差异全部为 0 才算通过。
  • 对象存储依赖(独立测试账号):对 AutoMQ 开源版的数据 bucket 临时加一条 Deny s3:PutObject 的 bucket policy,持续 60 s 后撤销,期间 1,000 msg/s 持续写入;记录 produce 开始失败的时间点、恢复后积压消化时间、broker 是否退出、分区是否需要人工干预。
4.5 兼容性与上游 Kafka 新特性+

AutoMQ 的内核停在 Kafka 3.9(§0 #3):下一个大版本的 1.8 分支 gradle.properties 仍是 version=3.9.2 S5;Apache 下载页已把 3.9.x 列入 Archived Releases S6,而 AutoMQ 文档写的是「It supports the latest updates to Apache Kafka versions within T+1 month」S4。#2950「Kafka 4.x kernel support」仍 open,维护者原话「we will need to maintain parallel development for two versions」,未给日期 S7。

能力 Apache Kafka MSK AutoMQ(3.9 内核)
KIP-848 新 consumer 协议 4.0 GA 4.x 可用;AWS 在东京区的 MSK 实测 E2E 与 classic 相同 3.9 只有 Preview 级代码(推断,依据基线 S5)
KIP-890 TV2 / KIP-966 ELR 4.0 / 4.1 升到 4.1 后自动 finalize 实测 不可用(推断);ELR 对 RF=1 不适用
KIP-932 share groups 4.2 production-ready ❌ AWS 在东京区的 MSK 实测不可用 ❌
KIP-1071 Streams 协议 4.2 GA Express 4.2 有,但「don't yet fully support KStreams API」M3 ❌
KIP-405 tiered storage 3.9 production-ready Standard 支持 M7 带 remote.storage.enable 的配置报错 S40
「100% 兼容」 — — 自称「passed Apache Kafka's 500+ system test cases (KRaft mode)」S4;基线停在 3.9

说明:MSK 也不具备 4.x 的全部功能(如 share groups);准确的说法是「MSK 在 4.x 主线上,能用到已经 GA 的 4.x 能力;AutoMQ 停在 3.9」。

建议向 AutoMQ 提的问题:4.x 内核的书面时间表是什么?在 3.9 被 Apache 归档后,安全修复如何获得?

如何在 PoC 中自己验证:AutoMQ 1.7.x + Java 4.4.0 客户端:①kafka-features.sh describe,预期 metadata.version 最高 3.9-IV0,没有 transaction.version / group.version;②用 group.protocol=consumer 启动 consumer,预期报 UnsupportedVersionException 或回退到经典协议。对 MSK 4.1 集群做同样两步,预期成功。

4.6 安全合规+
  • 身份:MSK 支持 IAM、SCRAM、mTLS(Serverless 只支持 IAM)M16M19;AutoMQ 文档只列了 SCRAM / PLAIN / mTLS,「AWS IAM (AWS_MSK_IAM) and OAUTHBEARER are not mentioned」S9;迁移文档原文「Kafka Linking does not support MSK IAM Role authentication mode and only supports the native ACL authentication mode」S11。(措辞为「文档未列」,不等于已证明不存在。)现网用 AWS_MSK_IAM 的客户迁移时需要改造所有客户端的认证方式。
  • 加密:AutoMQ 加密文档原文:密钥「managed by the cloud vendor, and BYOK (Bring Your Own Key) custom keys are not supported. The data encryption feature is only supported on AWS」;「Making changes to existing environment consoles or instances is not supported」S10。MSK 支持 KMS 静态加密,可指定客户托管密钥(CMK)M23。MSK 也有自身的限制:broker 只开 TLS 1.2,不支持 TLS 1.3;开启客户端认证必须同时开启集群内加密。
  • 合规:MSK「These include PCI and HIPAA BAA」M8,FedRAMP Moderate / High M8;AutoMQ 列出 SOC 2 Type II、ISO 27001、GDPR,FedRAMP 原文为「align with」S20。BYOC 下底层 EC2 / S3 在客户自己的合规边界内,差距在于 AutoMQ 作为运维方的控制 ⇒ 请贵司合规团队确认这种混合边界是否可接受。
  • 条款(采购问题,§0 #13):官网 ToS 1.4(g) 禁止「publish benchmarks or performance information about the Service」,1.4(l) 的「Prohibited Data」包括 PHI、PCI DSS 支付卡数据和 GLBA 信息 S15;文档站上同时挂着另一份「AutoMQ Cloud Service End User Agreement」S16。建议法务向 AutoMQ 确认:以哪一份协议为准?BYOC 是否适用 1.4(l)?数据丢失的责任上限是多少?AWS Service Terms §1.8 允许做基准并对外披露,条件是附上「all information necessary to replicate such Benchmark」M17。
  • 安全测试:AutoMQ ToS 1.4(h) 禁止安全测试 S15;AWS 渗透测试的免审批清单里也没有 MSK M18,这一点不构成差异。

如何在 PoC 中自己验证:Java 客户端配 sasl.mechanism=AWS_MSK_IAM 连接 AutoMQ 开源 1.7.x,预期报 UnsupportedSaslMechanismException。

4.7 托管责任边界+
职责 MSK AutoMQ BYOC
补丁 / 漏洞修复 AWS:「Periodically, Amazon MSK updates software on the brokers」M6 「System Vulnerability Patching: AutoMQ Responsible」S17
云资源容量 AWS 客户「ensure cloud resource availability」S17
客户侧变更 (解读)客户 VPC / 客户端侧变更无需事先通知 AWS;broker 侧 OS / 网络由 AWS 管理 改 OS / 网络前需提前 48 小时书面通知 AutoMQ(ToS 1.5.4)S15;「Customer are liable for service interruptions … caused directly or indirectly by your cloud or provided infrastructure」(1.5.3)S15
诊断数据 留在 AWS 服务侧 Ops Bucket 跨账号授权给 AutoMQ 主账号
网络连通 MSK FAQ:「all network traffic stays within the AWS network and is not accessible to the internet by default」M2 营销页「Maintains zero network connections between your VPC and AutoMQ」S19;但其文档要求控制台「must have internet access to download installation packages and synchronize necessary metadata」,并为 Ops Bucket 授权跨账号访问。AutoMQ 安全页原文:「AutoMQ cannot access your Kafka data or metadata without your authorization」S20
支持 AWS Support(另外付费);Enterprise Support 业务关键宕机 <15 分钟 M22 订阅之外另买:Production 档最低 $1,000/月,P1 1 小时;Enterprise 档 30 分钟;支持范围不含对象存储、云、K8s 引起的问题 S18
工单入口 一个(Kafka、网络、IAM、EC2、S3 都在 AWS) 两个(AutoMQ + 云厂商)

建议向 AutoMQ 提的问题:BYOC「零网络连接」与控制台需出网、Ops Bucket 跨账号授权如何同时成立?由对象存储或云资源引起的事故,由谁负责定位和恢复?

4.8 生态集成+
  • MSK:可以对接 Lambda ESM、Firehose、EventBridge Pipes、Glue Schema Registry、MSK Connect。
  • 边界:这些服务中多数也支持「self-managed Apache Kafka」作为源,AutoMQ 可能以这种方式接入。真正只有 MSK 具备的是 IAM 原生授权、Data Delivery 这类能力;其他能力请逐项核对。
  • AutoMQ 的生态短板:Terraform provider 为 0.4.x,有 breaking change,且无法创建环境本身;Strimzi 方面原文「it is recommended to fix the Strimzi Operator version to 0.47」S48;Strimzi 1.x 只支持 Kafka 4.1+,与 3.9 内核冲突(用户原话「we're blocked on 0.45.x」S7)。MSK 一侧有 Topic API(2026-02-11 起支持 Create / Update / Delete,要求 Kafka 3.6+)M10,Terraform aws_msk_topic 在 provider v6.38.0(2026-03-25)发布 M21。
  • 镜像供应链:报告 CRITICAL CVE 的 #3617(2026-09-21 开)仍 open,原文「Release images ship bcprov-jdk18on 1.84 with open CRITICAL CVE-2026-8763」,「This blocks image admission in environments that enforce CVE policies」S36。可用 trivy image automqinc/automq:1.7.4-strimzi 自行核对。
4.9 数据入湖:MSK Data Delivery vs AutoMQ Table Topic+
维度 MSK Data Delivery / Streaming Tables(Express,2026-07-30 GA M14) AutoMQ Table Topic S43 谁占优
在哪里运行 从 Express 内部存储直接读,「no broker egress throughput」M14 「embedded streaming table architecture」,在 broker 内完成 MSK(不占 broker 资源;AutoMQ 侧的资源开销未公开)
前置依赖 S3 Tables + Glue SR,都是托管服务 客户自备外部 Catalog;Schema Registry「supports only」Confluent SR / Aiven Karapace MSK 托管程度更高;AutoMQ 更开放
格式 JSON、JSON Schema(GSR) raw、string、Avro / Protobuf(Confluent wire format) AutoMQ
写入语义 append append;配 id 列后支持 Upsert / CDC AutoMQ
新鲜度 5–15 分钟 commit.interval.ms 默认 60 s;AutoMQ 自己提示「Frequent commits may result in commit conflicts and MetadataFile bloat」 AutoMQ
Catalog / 分区 S3 Tables 托管表;只有时间分区 rest、glue、tablebucket、nessie、hive;bucket / truncate / 时间分区 AutoMQ
坏记录 必须配 DLQ,坏记录带错误上下文进 DLQ,管道继续 默认 invalid_data 跳过坏记录,文档未提 DLQ MSK(默认留痕)
表维护 inline compaction 内置 「Regular table maintenance is necessary through compaction」(接 S3 Tables 时可借用其维护) MSK
快照 S3 Tables 管理 「AutoMQ automatically deletes snapshots that are older than one hour」 MSK
启用时机 对已有 Express 集群开启 「must be configured at the time of deploying the AutoMQ cluster」 MSK
价格 S3 Tables $0.010/GB,S3 通用桶 $0.008/GB M1 未公开 —

解读:在入湖功能广度上,AutoMQ Table Topic 目前更全。MSK 的优势在于托管、不占 broker 资源、坏记录必进 DLQ、inline compaction、对已有集群直接开启。需要 CDC 入 Iceberg 的场景,目前可以用 Managed Service for Apache Flink 或 MSK Connect 的 Iceberg sink。

建议向 AutoMQ 提的问题:快照 1 小时自动清理对 time travel 有何影响?默认跳过坏记录时如何审计丢弃的数据?是否支持 Glue Schema Registry?表 compaction 由谁负责?已有集群能否开启 Table Topic?Table Topic 对 broker 资源的开销是多少?

4.10 分区与规模上限+
项 MSK AutoMQ
每 broker 分区数 Express 有推荐值和最大值(含 leader 与 follower 副本):large 1,000 / 1,500、xlarge 1,000 / 2,000、2xlarge 2,500 / 4,000、4xlarge 6,000 / 8,000、16xlarge 20,000 / 32,000 M12;Standard 超过推荐值时,配置变更会被 HighPartitionCountException 拒绝,AWS 在东京区的 MSK 实测中 p99 恶化约 6 倍 开源版 / BYOC 的每 broker、每集群分区上限:未公开。Kafka 层 RF=1,同样分区数下副本数是 RF3 的 1/3(解读)
单分区吞吐 Express 文档「Max 15 MB/s」M12,AWS 实测 express.m7g.xlarge 单分区不压缩确认 ≈ 22 MB/s(99,990 msg/s);Standard 单分区上限主要由客户端 batch.size / 压缩决定:默认 16 KiB 批确认 32,120/s,batch 256 KiB + zstd 后 200k msg/s(p99 5.84 ms),AWS 实测(kafka.m7g.xlarge) AutoMQ Cloud 文档:读、写各 4 MBps,「Custom modifications are not supported」S8;BYOC(FSx WAL):默认 16 KiB 批 100k 过载(最多确认 62,780/s),batch 256 KiB + zstd 后 200k msg/s p99 8.66 ms;开源 1.7.4:batch 512 KiB · linger 5 · zstd · in-flight 5 时 100k msg/s 跟上,但 p50 恒 ≈ 355–365 ms,AWS 实测(m7g.xlarge,测试记录 §11.9)
其他硬限制 — AutoMQ Cloud 文档:offsets.retention.minutes「7 days – Customization not supported」;log.retention.ms 1 小时–60 天 S8(仅适用于 AutoMQ Cloud 文档范围)
元数据规模 KRaft 只存集群元数据 「Metadata information of objects on S3 is stored in KRaft」S14;#3477 在约 5,000 topic 时 controller 事件队列饱和,broker「restart dozens of times in a single incident」S34;该 issue 已关闭,但报告者未确认修复后复测
Serverless 2,400 个 leader 分区、ingress 200 MBps / egress 400 MBps M12 —

解读:RF=1 让 AutoMQ 在「同样分区数需要几台 broker」上具有结构性优势,这也是 §4.3.3 中 Express 算例需要配 6 台的原因;MSK 侧要按真实分区数配 broker,不能只按吞吐配。AutoMQ 的规模风险点不在副本数,而在 KRaft 中的对象元数据规模(§0 #15)。

建议向 AutoMQ 提的问题:BYOC / 开源版每 broker、每集群的分区与 topic 上限是多少?AutoMQ Cloud 的单分区 4 MBps、offset 7 天、保留 60 天限制是否适用于 BYOC?

如何在 PoC 中自己验证:按 1k / 3k / 5k topic 阶梯建 topic,每一档都滚动重启,观察 controller 事件队列时延、broker 重启次数、是否出现 fatal fault。同时把自身最热分区的峰值流量、最长保留期、消费组最长不提交间隔与上述限制逐一对照。

4.11 事务 / EOS / Kafka Streams 行为+
  • AutoMQ:内核是 3.9,没有 4.0 起 GA 的 KIP-890 TV2,也没有 KIP-1071 Streams 协议(§4.5)。Kafka Streams 在其兼容性系统测试范围内(自称「passed Apache Kafka's 500+ system test cases (KRaft mode)」S4)。公开的事务缺陷集中在 ZeroZone(零跨 AZ)路径:#2902「ZeroZone2.0 transaction 'deadlock'」(2025-09-27,1.6.0-rc0),以及 1.6.0 release notes 中「fix(zerozone2): adapt to txn」(#2851)等多条修复;公开 issue 中未见非 ZeroZone 模式下当前版本的事务语义缺陷报告。
  • AutoMQ(原文全段):RF=1 下换 broker 需要重建 producer 状态;AutoMQ CTO 原话「Under RF=1, we rely on partition movement (reopening the partition via shared storage), which adds a few extra seconds. However, this has a small impact on overall failover latency … we haven't yet encountered large-scale deployments with idempotent producers enabled—this is something we need to validate」S39(2025-11-09)。Java producer 从 3.0 起默认 enable.idempotence=true、acks=all S50,(解读)即大多数 Java 客户端默认就处在这个待验证的场景中。
  • MSK:3.9.x.kraft 升到 4.1.x.kraft 后自动 finalize transaction.version=2 实测;Express「don't yet fully support KStreams API」M3,KIP-1071 只在 Express 4.2 上提供(§4.5)。⇒ 重度 Kafka Streams 用户在 MSK 上建议优先选择 Standard。

建议向 AutoMQ 提的问题:开启幂等 / 事务的大规模部署中,broker 切换时的 producer 状态重建耗时和错误码分布是什么?

如何在 PoC 中自己验证:50 个带 transactional.id 的 producer + read_committed consumer,做故障注入后统计中止事务的可见数、OUT_OF_ORDER_SEQUENCE_NUMBER / UNKNOWN_PRODUCER_ID 计数;ZeroZone 开 / 关各跑一遍。MSK 用同一脚本对照。

4.12 迁移路径:自管 Kafka / AutoMQ → MSK+
  • AutoMQ 的迁移工具只进不出(§0 #12):迁移文档原文「Kafka Linking supports only AutoMQ instances as Sink Clusters」S11;开源版的迁移工具只有 MM2,AutoMQ 自己的对比表写 MM2「Message replication offset inconsistency; Cluster switching requires downtime」S2。S3 上存的是 AutoMQ 私有格式的对象,不是 Kafka segment,迁出需要经 Kafka 协议全量读出;AutoMQ 按读出流量收费(egress $0.00275–0.0067/GiB S27),迁出时读历史数据是否计费请向厂商确认(推断,计费页未单列迁移场景)。
  • 可以迁出:MSK FAQ 把 AutoMQ 列为兼容源:「WarpStream, or AutoMQ when configured with SASL/SCRAM or mTLS authentication」M2。
  • 工具:MSK Replicator 支持外部 Kafka 作为源:→ Express 2026-04-20 GA、→ Standard 2026-07-09;外部源认证支持 SCRAM、mTLS(2026-06-22)、OAUTHBEARER(2026-08-24)。
  • 前提:源 ≥ 2.8.1(AutoMQ 3.9 内核满足);认证只对 Replicator 连接生效,业务客户端可保持原认证;跨云或跨账号时网络走 VPN / Direct Connect;Secrets Manager 存放凭据。步骤:EARLIEST + Identical 命名 + synchroniseConsumerGroupOffsets=true;如需回滚,建反向 Replicator 并设 consumerGroupOffsetSyncMode=ENHANCED;约 30 分钟进入 RUNNING。
  • AutoMQ 作为源的注意点(解读):①长保留集群的全量复制时间与读出流量费要提前测算;②Table Topic、automq.* 等 AutoMQ 私有 topic 配置在 Identical 模式下如何处理尚未确认,PoC 时先列出所有 topic 配置做比对;③offset 同步是翻译 / 近似,不是字节一致。
  • 替代方案:无法开启 SCRAM / mTLS / OAuth 或跨账号受限时,用 MM2(MSK Connect 托管或自建)。
  • MSK 内部形态之间:Standard → Express 不能原地切换,用 Replicator 蓝绿迁移。

如何在 PoC 中自己验证:在 AutoMQ 开源版上灌 200 GiB(48 分区,保留 30 天):①从 bucket 中任取一个对象跑 kafka-dump-log.sh --files,预期无法解析;②用 MSK Replicator(外部源、SCRAM、Identical 命名、Earliest)复制到 MSK Express,记录全量复制耗时、复制吞吐、消费组 offset 是否对齐。

4.13 多 Region / 跨 Region DR+
项 MSK AutoMQ
机制 MSK Replicator 异步复制,含 topic 配置、ACL、消费组 offset M15 Multi-Region Cluster(Enterprise 档);实现细节未公开
RPO 异步;AWS 在东京区的 MSK 实测同 Region 复制延迟 p50 约 280 ms / p99 约 527 ms 实测,跨 Region 未测 宣称「RPO = 0」S51(无独立验证)
RTO 取决于客户端切换(DNS / 配置)与应用重启,无公开数字 宣称「Seconds-Level Failover (RTO ≈ 10s)」S51
定价 Replicator 按小时 + 每 GB 处理量计费(us-east-1 $0.30/h、$0.08/GB),跨 Region 另收传输费 M1;大吞吐时 DR 复制费可能很可观(100 MiB/s 约 $20.5k/月处理费,推导) 未公开

解读:RPO = 0 意味着写入要在跨 Region 确认后才 ack,因此写延迟会包含一次跨 Region RTT。在拿到书面说明和 PoC 结果之前,这一宣称既不应否认,也不应视为已验证。

建议向 AutoMQ 提的问题:「RPO = 0」下 producer 的写延迟是多少?对 Region 间距离有何假设?需要哪个档位、价格多少?RTO ≈ 10s 的测量前提和故障场景是什么?

选型决策表+
客户条件 倾向 依据
写 p99 必须 < 100 ms,且只考虑开源版 MSK §0 #1
写 p99 < 50 ms,可以买商业版 + FSx / EFS 两者都可以 → 做同负载 PoC;FSx WAL 稳态 p99 7.6–15.9 ms,但故障停写 15–146 s(AWS 实测,测试记录 §10.3、§10.4、§10.5);把 FSx / EFS 费用和 2-AZ HA 对的切换算进去 §0 #9、#14;§4.1
写入 ≥ 数百 MB/s,扇出 ≤ 1–2,保留 ≥ 7 天,延迟容忍 ≥ 500 ms AutoMQ 有真实成本优势;MSK 侧先开 follower fetching + 压缩 + tiered / Express 再比价 §4.3.4–4.3.5
写入 ≈ 10 MiB/s 量级,且要毫秒级写入 MSK(AutoMQ 在这一档的价格对应 S3 WAL 约 500 ms;按分区护栏重算后,AutoMQ 比 Standard + tiered 便宜约 10%,分区 ≤ 1,000 时 MSK 便宜约 16%) §4.3.3
写入 ≈ 10 MiB/s 量级,能接受数百毫秒写延迟,分区数多 AutoMQ 有成本优势(对 Express 约 44%、对 Standard + tiered 约 10%,推导,未实测) §4.3.3
需要 Kafka 4.x 功能 / Strimzi 1.x MSK §0 #3
现网用 IAM 认证或要求 CMK MSK §0 #5、#6
PCI / HIPAA / FedRAMP / GovCloud MSK(AutoMQ 需要客户合规团队逐项确认) §0 #24;§4.6
必须多云 AutoMQ §5.1
需要 Spot / RI 压计算成本 AutoMQ §5.1
入湖要 Upsert / CDC、Avro / Protobuf AutoMQ Table Topic,或 MSK + Flink / Connect §0 #28;§4.9
单分区热点 > 4 MBps 或保留 > 60 天(AutoMQ Cloud 文档范围) MSK,或者先书面确认 AutoMQ BYOC 是否适用这些限制 §0 #11
现在是 MSK ZooKeeper 集群,担心「反正要迁一次」 MSK:2026-08-10 起支持原地 ZK→KRaft 迁移 M9(2AZ Standard 除外) §6 Q4

在 AWS 上运行 Apache Kafka

Amazon MSK:上游 Apache Kafka、默认毫秒级写入、RF3 跨 3 AZ、broker 间复制不收费。

了解 Amazon MSK
口径说明:本页每个结论都带来源编号(S = AutoMQ 与第三方,M = AWS),访问日期 2026-10-29;实测 标记的数字来自 AWS 东京区 MSK 实测(开环定速,预热数据丢弃;各条目的规格写在其条件里,首屏标尺为 2026-11-07 r4 同一轮:三家同为 m7g.xlarge 级、客户端各自调优);AutoMQ 商业版(FSx WAL)的延迟 / 高可用数字为 AWS 东京区 2026-11 实测(BYOC 5.5.7,3 × m7g.xlarge + FSx for ONTAP),四方实测对比(条件、架构、延迟、吞吐、高可用、成本)见 四方对比页,AutoMQ 版本复测细节见 交易链路专题。