2026阿里云国际版云消息队列 Kafka 版实战教程:三种计费模型怎么算、新加坡真实单价、磁盘为什么比实例费还贵

📅 · 阿里云国际版实战教程 - ChengziCloud

一句话结论

阿里云国际版的云消息队列 Kafka 版(ApsaraMQ for Kafka)有三种完全不同的卖法:订阅(包月)、按量付费、Serverless。

本文要点
  • 先给结论:Kafka 版选型的六个决策点
  • 三种计费模型:公式先摆清楚
  • 真实单价:国际站三张价目表
  • 五个可复算账单(全部按 730 小时/月)
  • 选型:从峰值吞吐反推规格、分区和磁盘
  • 从零开通:控制台九步 + 四个接入点 + 能跑通的代码
  • 十一个计费与稳定性坑(都来自官方文档本身)
  • 标准版 / 专业版 / Serverless 怎么分工

阿里云国际版的云消息队列 Kafka 版(ApsaraMQ for Kafka)有三种完全不同的卖法:订阅(包月)、按量付费、Serverless。同一个"2 核 8G 级"的入口,新加坡地域订阅标准版 hw.2xlarge 是 370 美元/月,按量专业版 hw.6xlarge 是 1.98 美元/小时(一个月 730 小时就是 1,445 美元),而 Serverless 预留 30 MB/s 峰值大约 286 美元/月——差价接近 5 倍。更反直觉的是,真正把账单顶上去的往往不是实例规格,而是磁盘:30 MB/s 峰值、72 小时消息保留,需要 7.4 TB(约 7,400 GB)存储,按新加坡高效云盘 8 美元/100GB/月算就是 592 美元/月,比 370 美元的实例费还高 60%。这篇把国际站 Kafka 版的三种计费公式、Region Group 2(新加坡/香港/东京/首尔/欧美)的真实美元单价、五个可复算账单、规格与分区选型、控制台开通步骤、9092/9093/9094/9095 四个接入点的选择,以及官方文档里最容易被忽略的计费坑,一次讲透。

Meta Description: 2026阿里云国际版Kafka实战:订阅370美元/月、按量1.98美元/小时、Serverless预留0.00508美元/MB/s/小时;30MB/s峰值72小时保留要7.4TB磁盘592美元;三种计费公式、接入点端口、开通步骤与计费坑全解析。

关键词:阿里云国际版Kafka、ApsaraMQ for Kafka、消息队列Kafka价格、Kafka Serverless计费、Kafka磁盘保留时长、Kafka分区数限制、新加坡Kafka、Kafka接入点9092

一、先给结论:Kafka 版选型的六个决策点

在翻规格表之前,先把官方文档里能直接决定账单的六件事按优先级排好,这六条决定了你 80% 的成本:

  1. 先定 editions(标准版还是专业版),再谈规格。 标准版 SLA 99.95%(多可用区 99.99%),但不支持 SASL 和 ACL;专业版 SLA 99.99%、三可用区、独占物理集群,才支持 SASL/ACL。如果你的客户端需要账号密码认证(公网接入强制要求),标准版这条路直接堵死。
  2. 再定计费模型。 峰值吞吐稳定在 50 MB/s 以上、要长期跑,订阅最便宜;峰值波动大、白天高夜里低,Serverless 按峰值小时计费更划算;短期做 POC 或压测,按量付费按小时出账。
  3. 磁盘容量和消息保留时长必须一起算。 保留 72 小时是默认值,但它是按峰值写入量 × 保留时长堆出来的,容易被漏掉,而磁盘单价按每 100 GB 计,量一大就是账单主力。
  4. 分区数决定额外费用。 订阅规格自带 1000 个分区,超出部分单独收费(新加坡 0.46 美元/分区/月);Serverless 的分区从第 1 个就开始计费。
  5. 公网接入是奢侈品。 公网只有一个接入点(9093,SASL_SSL),且按公网流量单独计费,香港 0.167 美元/GB。生产环境能用 VPC 内网就不要开公网。
  6. 别指望"停掉就不收费"。 按量付费实例只要存在就计费,停生产者、删 Topic 都不停计费,唯一止血手段是释放实例。

二、三种计费模型:公式先摆清楚

官方对三种模型的计费口径写得很明确,直接抄公式比看规格表有用:

订阅(包月) = 流量规格月费 + 磁盘(每 100 GB/月)+ 额外分区(每分区/月)+ 公网带宽(按 Mbps 包月)。买定离手,跑不满也不退。

按量付费 = (带宽价 + 流量规格价 + 磁盘单价 × 容量/100 + 分区单价 × 额外分区) × 小时数。不足 1 小时按 1 小时算,账单每 24 小时出一次,次日从账户余额扣。注意"磁盘单价 × 容量/100"这个除法——磁盘单价是每 100 GB 每小时,不是每 GB。

Serverless = 预留发布容量费 + 弹性发布流量费 + 预留订阅容量费 + 弹性订阅流量费 + 存储费 + 分区费。预留容量按 MB/s × 小时计费,按小时取峰值,不足 1 小时按 1 小时;弹性部分是预留被打满之后的溢出,按 GB 计。购买即开始计费。

三种模型不是互斥的产品线,而是同一套实例的三种买单方式,所以规格名(hw.2xlarge、hw.6xlarge)在三种模型下都能对上,差价体现在计价单位上:订阅看月费、按量看小时价、Serverless 看 MB/s 单价。

还有一个已经变化的事实要记住:按 Topic 规格购买的方式已经停售。如果你手里还有老账单或老文档按 Topic 数计价,官方给的存量转换系数是包月 23.913、按量 45.045,转换后 Topic 配额等于分区数、Group 配额等于分区数 ×2,不足部分官方免费补足。看老教程时别被 Topic 计价带偏。

三、真实单价:国际站三张价目表

阿里云国际站的 Kafka 价格按 Region Group(地域组) 分三档,同一个规格在不同组能差 30% 以上。先把分组记住,后面所有数字都挂在这张表上:

地域组覆盖地域相对水平
Group 1中国大陆全部(杭州、上海、北京、深圳、广州、成都、张家口、乌兰察布等,福州本地域已关停)最低
Group 2新加坡、中国香港、东京、首尔、弗吉尼亚、硅谷、法兰克福、伦敦最高(基准价)
Group 3吉隆坡、雅加达、马尼拉、曼谷介于两者之间
单列沙特(利雅得)伙伴地域单独一列,不并入三组

绝大多数出海业务落在 Group 2,所以下面以 Group 2 为主体,同时给出 Group 1 / Group 3 的对照,方便你判断"换地域能省多少"。

3.1 订阅(包月)月费,单位美元

规格版本Group 2Group 1Group 3
hw.2xlarge标准版(高写入)370250340
hw.3xlarge标准版530360480
hw.6xlarge标准版760520700
hw.9xlarge标准版960660880
hw.12xlarge标准版1,1608001,070
hw.2xlarge专业版870600800
hw.6xlarge专业版1,5101,1301,510
hw.12xlarge专业版2,3301,7502,330
hw.30xlarge专业版5,1703,8805,170
hw.100xlarge专业版9,6707,2709,670
hw2.600xlarge专业版52,49136,20048,147

标准版自带 1000 个分区。专业版的高读取规格(hr.)与同档 hw. 同价,读写比 5:1,适合消费量远大于生产量的场景(比如一份数据被多个下游同时订阅)。

一句话读法:Group 1 大约是 Group 2 的 68%。同样一个标准版 hw.2xlarge,从新加坡搬到杭州就省 120 美元/月,但 latency 和合规边界完全不同——这笔账不能只看价格。

3.2 按量付费小时价(Group 2),单位美元/小时

规格版本小时价折合月费(730h)
hw.2xlarge标准版0.470343
hw.3xlarge标准版0.650475
hw.6xlarge标准版0.880642
hw.9xlarge标准版1.050767
hw.12xlarge标准版1.250913
hw.2xlarge专业版1.17854
hw.6xlarge专业版1.981,445
hw.12xlarge专业版2.822,059
hw.30xlarge专业版6.034,402

对照 3.1 就能看懂一件事:按量付费不只是"贵一点"。标准版 hw.2xlarge 按量折合月费 343 美元,比订阅 370 美元还便宜——看起来按量更划算?错,这个比较漏了磁盘和分区,也漏了一个致命细节:按量实例只要不释放就一直在计费,跑满一个月没有封顶折扣,而订阅是一次性锁价。真正该比的是"我一个月实际用多少小时",而不是"折合月费"。

顺带说一句官方算例:专业版 hw.6xlarge + 600 GB SSD + 200 个额外分区,按量合计 1.61 美元/小时,约 1,159.20 美元/月(该算例取自中国大陆地域)。而在新加坡,光 hw.6xlarge 的实例部分就是 1.98 美元/小时,比大陆整单还贵——跨地域比价的坑就在这里。

3.3 Serverless 单价(Group 2)

Serverless 的计价单位是 MB/s × 小时,分"预留"和"弹性"两段,还分发布(写入)和订阅(消费)两个方向:

计费项计量单位Basic标准版专业版
预留发布容量(0–60 MB/s)美元/MB/s/小时0.00080.005080.00761
预留订阅容量(0–60 MB/s)美元/MB/s/小时0.00040.002540.00382
弹性发布流量美元/GB—0.01208330.02175
弹性订阅流量美元/GB—0.00604170.010875
存储(1–1024 GB)美元/GB/小时0.000030.000150.00022
分区(1–1000)美元/分区/小时0.000080.0000900.000162

预留容量超过 60 MB/s 后单价递减,标准版在 (60, 300] 区间是 0.00320/0.00160,在 (300, 1024] 是 0.00201/0.00101,超过 1024 MB/s 是 0.00127/0.00064。专业版在 (60, 300] 区间是阶梯式:0.4566 + (n-60) × 0.00479。Group 1 大致是 Group 2 的 70%–75%,Group 3 居中。

Serverless 的读写比是 3:1(同一份数据的写入与消费能力配比),如果你下游消费量远大于生产量(比如一份埋点数据被三个系统订阅),预留订阅容量会明显不够,要么提预留、要么吃弹性流量的单价。

3.4 磁盘、分区、公网带宽

项目计量单位Group 1Group 2Group 3
高效云盘美元/100 GB/月688
SSD 云盘美元/100 GB/月162321
额外分区(订阅)美元/分区/月0.320.460.42

按量口径下,磁盘是同价折算成小时:高效云盘 0.02、SSD 0.04 美元/100 GB/小时,额外分区 0.000639 美元/分区/小时。

公网带宽按 Mbps 包月,Group 2 是 1M 3.6 / 2M 7.2 / 3M 10.8 / 4M 14.4 / 5M 18 美元,6 Mbps 以上是 18 + (n-5) × 12.5;香港 1M 4.7、2M 9.4,东京和首尔 1M 4.0、2M 7.9。按量口径:1M 0.01、5M 0.05 美元/小时,6M 以上 0.05 + (n-5) × 0.03。

公网流量另算,不看带宽包:香港 0.167、新加坡/雅加达/马尼拉/曼谷 0.125、东京 0.1、首尔/吉隆坡 0.133、美西和欧洲 0.083、迪拜 0.167 美元/GB。这一段后面会单独算一笔账,因为它能把一个 370 美元的实例变成 800 美元。

四、五个可复算账单(全部按 730 小时/月)

单价看完还是不知道自己要付多少,直接上算例。以下每个都能用三、四节的单价自己复核。

账单 1:新加坡订阅标准版,中等业务

配置:标准版 hw.2xlarge + 600 GB 高效云盘,不额外加分区,不开公网。


实例月费            370.00
磁盘 600GB/100×8     48.00
合计                418.00 美元/月

同一个配置搬到中国大陆(Group 1):250 + 6×6 = 286 美元/月。差 132 美元,46%。这是"地域选择"最直接的价格证据,但要注意它换来的是不同的网络位置与合规环境,不是纯粹的省钱技巧。

账单 2:按量付费压测一天(专业版)

配置:专业版 hw.6xlarge + 600 GB SSD,跑 24 小时就释放。


实例 1.98 × 24        47.52
磁盘 0.04×6 × 24       5.76
合计                  53.28 美元/天

如果这个配置改成订阅,月费是 1,510 + 6×23 = 1,648 美元。压测一天按量 53 美元,订阅一个月 1,648 美元——这就是按量付费存在的意义。反过来,如果你的实例要 7×24 跑满一个月,按量是 1.98×730 = 1,445 美元,加上磁盘 175 美元,反而比订阅贵。平衡点非常清晰:跑不满约 22 天就该买订阅。

账单 3:Serverless,峰值 30 MB/s,存储 1 TB,100 个分区


预留发布 30 × 0.00508 = 0.1524 /小时
预留订阅 30 × 0.00254 = 0.0762 /小时
存储 1024 × 0.00015   = 0.1536 /小时
分区 100 × 0.000090   = 0.0090 /小时
合计                  = 0.3912 /小时
月费 0.3912 × 730     = 285.6 美元/月

同样的峰值换成订阅标准版 hw.2xlarge(含 600 GB 磁盘)是 418 美元/月。Serverless 便宜 32%,而且不用预估磁盘——这是 Serverless 最实在的优势。

但峰值翻倍到 60 MB/s,Serverless 立刻反超:


(60×0.00508) + (60×0.00254) + 0.1536 + (100×0.000090)
= 0.3048 + 0.1524 + 0.1536 + 0.0090 = 0.6198 /小时
× 730 = 452.5 美元/月  >  订阅 418 美元

解一下平衡点(同样 1 TB 存储、100 分区):0.00762p + 0.1626 = 0.5726,得 p ≈ 54 MB/s。所以判断口径很简单:峰值长期低于 50 MB/s 选 Serverless,高于 50 MB/s 选订阅。这个数字会随存储和分区规模浮动,但量级是稳的——把上面四行改成你自己的参数就能算出准确的交叉点。

账单 4:磁盘才是隐形大头

按官方换算,30 MB/s 峰值约等于 2.47 TB/天(20 MB/s ≈ 1.65 TB/天,60 MB/s ≈ 4.94 TB/天,120 MB/s ≈ 9.89 TB/天)。默认消息保留 72 小时:


保留数据量 = 2.47 TB/天 × 3 天 ≈ 7.4 TB ≈ 7,400 GB
高效云盘   = 74 × 8  = 592 美元/月
SSD 云盘   = 74 × 23 = 1,702 美元/月

一个 370 美元的实例,配出 592 美元的磁盘,磁盘费是实例费的 1.6 倍。而把保留时长从 72 小时压到 24 小时,磁盘降到 25 × 8 = 200 美元/月,直接省 392 美元/月——比重选一个规格档位有效得多。

这里有个容易误判的细节:标准版和专业版买 300 GB 是可用 300 GB + 600 GB 副本免费,副本不额外收钱;但基础版(Basic)买 300 GB 只有 100 GB 业务可用。如果你的账单显示"买了 300 GB 却只能存 100 GB",先确认版本,别怀疑计费系统。

账单 5:公网流量的放大效应

假设每天有 100 GB 数据经公网接入点进出(香港地域,0.167 美元/GB):


3,000 GB/月 × 0.167 = 501 美元/月

比实例费还贵。 这就是为什么官方把公网接入点限制得很死——公网只有一个 9093 端口、只允许 SASL_SSL、强制加密 + 认证。生产环境的标准做法是:客户端和 Kafka 实例放同一个 VPC,走 9092 内网接入点,公网只保留给运维排障,并且排障完就关。

五、选型:从峰值吞吐反推规格、分区和磁盘

5.1 三条硬公式

吞吐换算:MB/s × 86,400 秒 ÷ 1024² 得到 TB/天。官方给了四档参考值(20 / 30 / 60 / 120 MB/s 对应 1.65 / 2.47 / 4.94 / 9.89 TB/天),直接查表更快。

规格冗余:官方建议按峰值的 130% 选规格。业务峰值 40 MB/s,就按 52 MB/s 的能力去买。这不是厂商多卖你东西——Kafka 的流量倾斜会让某个 broker 先到瓶颈,整实例就触发限流,按满载买等于给自己埋一颗定时炸弹。

连接数:C = min(10,000, 1,000 + (F ÷ 100) × 1,000),F 是流量规格(MB/s)。专业版起步 2,000,实际流量每增加 20 MB/s 加 2,000,预留容量每增加 60 MB/s 再加 2,000。做 IoT 或大量短连接客户端时,连接数会比吞吐先成为瓶颈。

5.2 分区数的两个天花板

  • 单集群消费组上限 2,000 个,超过就要拆实例或做 Group 聚合。
  • 分区创建/删除频率上限 900 个/10 秒,批量建分区的脚本必须限速,否则报错回滚。
  • 订阅规格自带 1,000 分区,超出按 0.46 美元/分区/月(Group 2)收费;Serverless 从第 1 个分区起就计费(0.000090 美元/分区/小时,100 个分区约 6.6 美元/月)。
  • 开源 Kafka 在分区数超过 1,000 后性能明显下降,ApsaraMQ 声称单 Topic 分区不限且不掉性能,所以它敢把"额外分区"做成独立计费项。这句话的含义是:分区在这里是钱,不是免费资源。

5.3 保留时长与磁盘的联动

保留时长可以设 24–480 小时,默认 72 小时。设长了,磁盘按峰值线性膨胀;设短了,下游故障恢复窗口不够。工程上的做法是按"最长可接受的消费中断时间"定保留时长,而不是按"反正磁盘便宜":

峰值写入保留 24h保留 72h保留 168h(7天)
10 MB/s(0.82 TB/天)200 GB → 16 美元590 GB → 48 美元1,380 GB → 111 美元
30 MB/s(2.47 TB/天)2,470 GB → 200 美元7,400 GB → 592 美元17,300 GB → 1,384 美元
60 MB/s(4.94 TB/天)4,940 GB → 400 美元14,800 GB → 1,184 美元34,600 GB → 2,768 美元

(磁盘按 Group 2 高效云盘 8 美元/100 GB/月计。选择 SSD 的话把结果乘 2.9。)

还有一个账号级红线:默认存储上限 30 TB,超限后系统可能清理最旧的消息。也就是说 60 MB/s 峰值下保留 7 天已经逼近 34.6 TB,会直接撞线——这时不是加钱能解决的,必须缩短保留或降峰值。

六、从零开通:控制台九步 + 四个接入点 + 能跑通的代码

6.1 开通与购买

第 1 步,进控制台。 登录阿里云国际站控制台,搜索 "Message Queue for Apache Kafka" 进入产品。新加坡、香港、东京、首尔等地域都已开服,地域在页面右上角切换,必须选对——后面所有资源都绑死在这个地域。

第 2 步,购买实例。 点"购买",按顺序选:

  1. 地域:出海业务选新加坡或香港,就近接入客户;
  2. 版本:标准版 / 专业版 / Serverless。标准版不支持 SASL/ACL,需要账号密码认证就必须专业版;
  3. 规格:参考第五节的 130% 冗余原则;
  4. 存储:云盘类型(高效云盘 / SSD)+ 容量。按第四节的公式先算清 72 小时保留需要多少;
  5. 网络:选已有的 VPC 和交换机(vSwitch)。Topic 不能跨地域使用,Kafka 必须和生产者/消费者的 ECS 在同一个地域;
  6. 安全项:是否开启 ACL(访问控制)、是否开启 VPC 传输加密。这两项直接决定你能用哪些接入点;
  7. 购买时长:包年包月或按量。

第 3 步,部署实例。 购买完成不等于可用,实例需要在控制台执行部署(Deploy),部署过程中会创建交换机、安全组等依赖资源,完成后状态变为"运行中"。

6.2 四个接入点,选错端口连不上

这是新手最容易卡住的地方。Kafka 版按端口区分安全等级,端口 = 协议 = 认证方式,不存在"随便填一个端口试试":

网络端口接入点类型协议加密认证
公网9093SSLSASL_SSL是是
VPC9092默认PLAINTEXT否否
VPC9094SASLSASL_PLAINTEXT否是
VPC9095SSLSASL_SSL是是

选择口径非常直接:

  • 公网访问:只能用 9093 + SASL_SSL,强制加密 + 认证,没有"明文公网"这个选项。同时按公网流量计费(香港 0.167 美元/GB)。
  • VPC 内网、无安全要求:9092 明文,最省事,压测首选。
  • VPC 内网、要认证:9094(SASL_PLAINTEXT),账号密码但不过 TLS。
  • VPC 内网、要加密 + 认证:9095(SASL_SSL),生产推荐。

端口不是天生就有的:购买时勾选 ACL 才会激活 9094,勾选 VPC 传输加密才会激活 9095;如果实例已经部署完才去开 ACL,系统会同时激活 9094 和 9095。所以你照着老教程填 9094 却连不上,八成是当初没勾 ACL。

支持两种 SASL 机制:PLAIN(明文用户名密码,配合 SSL 时凭据走加密通道)和 SCRAM-SHA-256(加盐挑战应答,密码不上线,更强)。两者都支持动态创建用户、无需重启实例。

6.3 建 Topic 与 Group

进"实例列表",点实例名,左侧导航选 Topics → Create Topic,需要填:

参数说明示例
NameTopic 名order-events
Description备注订单事件流
Partitions分区数,决定并行度12
Storage Engine仅专业版可选,标准版固定 Cloud StorageCloud Storage
Message Type由存储引擎自动决定Normal Message
Log Cleanup Policy仅 Local Storage 需要Delete
Tag标签prod

两个存储引擎的差别要说清:Cloud Storage 把消息存在阿里云云盘上、分布式三副本,低延迟高可靠,标准版只能用这个;Local Storage 用开源 Kafka 的 ISR 算法、同样三副本,专业版才可选,适合需要开源语义(比如依赖 ISR 行为的监控指标)的场景。消息类型上,Cloud Storage 自动是 Normal Message——同 key 的消息进同一分区并保持发送顺序,但 broker 故障切换时跨分区的全局顺序不保证;需要严格分区内有序就在专业版 + Local Storage 下选 Partitionally Ordered。

实例部署后系统会自动建两个内部 Topic:__alikafka_housekeeping_local_topic 和 __alikafka_housekeeping_cloud_topic,不要删,它们是巡检组件用的。

然后在 Consumer Groups 页面建消费组,让 Group 订阅对应 Topic。一个 Group 可以订阅多个 Topic,一个 Topic 也能被多个 Group 订阅——这也是为什么"消费能力"和"生产能力"要分开估。

6.4 白名单与连通性验证

VPC 接入点要求把客户端所在 ECS 的私网 IP 或网段加进实例白名单,否则连接会在握手阶段超时(表现为 TimeoutException 而不是认证失败,很容易误判成网络不通)。加完之后先在 ECS 上验证端口:


nc -vz <your-instance-endpoint> 9095

返回 succeeded 再写代码。接入点地址在实例详情页的"接入点信息"里,形如 alikafka-xxxx.sg-sg-xxx.alikafka.aliyuncs.com:9095。

6.5 Python 客户端(confluent-kafka)

安装依赖:


pip install confluent-kafka

生产者:


from confluent_kafka import Producer

conf = {
    'bootstrap.servers': 'alikafka-xxxx.sg-sg-xxx.alikafka.aliyuncs.com:9095',
    'security.protocol': 'SASL_SSL',
    'sasl.mechanism': 'PLAIN',
    'sasl.username': 'your_username',
    'sasl.password': 'your_password',
    'ssl.ca.location': '/etc/kafka/alikafka_ca.pem',
}

p = Producer(conf)
p.produce('order-events', key='order-1001', value='{"amount": 99.5}')
p.flush()
print('delivered')

消费者:


from confluent_kafka import Consumer

conf = {
    'bootstrap.servers': 'alikafka-xxxx.sg-sg-xxx.alikafka.aliyuncs.com:9095',
    'security.protocol': 'SASL_SSL',
    'sasl.mechanism': 'PLAIN',
    'sasl.username': 'your_username',
    'sasl.password': 'your_password',
    'ssl.ca.location': '/etc/kafka/alikafka_ca.pem',
    'group.id': 'cg-order',
    'auto.offset.reset': 'earliest',
}

c = Consumer(conf)
c.subscribe(['order-events'])
while True:
    msg = c.poll(1.0)
    if msg is None:
        continue
    if msg.error():
        print('err', msg.error())
        continue
    print(msg.key(), msg.value())

SSL 根证书在实例详情页下载,是一个 .pem 文件;ssl.ca.location 必须指向它的绝对路径,漏了会报 SSL handshake failed。

6.6 Java 客户端(kafka-clients 3.x)

配置文件 client.properties:


bootstrap.servers=alikafka-xxxx.sg-sg-xxx.alikafka.aliyuncs.com:9095
security.protocol=SASL_SSL
sasl.mechanism=PLAIN
sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="your_username" password="your_password";
ssl.truststore.location=/etc/kafka/kafka.client.truststore.jks
ssl.truststore.password=your_truststore_password

用官方自带的命令行工具直接验证(省去写代码):


kafka-console-producer.sh --bootstrap-server alikafka-xxxx.sg-sg-xxx.alikafka.aliyuncs.com:9095 \
  --producer.config client.properties --topic order-events
kafka-console-consumer.sh --bootstrap-server alikafka-xxxx.sg-sg-xxx.alikafka.aliyuncs.com:9095 \
  --consumer.config client.properties --topic order-events --from-beginning

客户端版本兼容 Kafka 0.11 到 3.x,不用为了上云换 SDK。Java 侧要注意 sasl.jaas.config 必须以分号结尾,这是 JAAS 语法,少了分号会静默认证失败。

6.7 把数据接出去

Kafka 存着不动没有价值,常见两个下游:实时分析接 ClickHouse(其 Kafka 表引擎可以直接消费),日志检索接 Elasticsearch。站内这两篇有完整的落库链路和数据量估算,可以接在这篇后面看:

如果只是想把数据同步到 OSS 或另一个 Kafka,官方 Connector 可以用,但要知道它的底层:Connector 的调度走 EventBridge(公测期免费),实际计算走函数计算(单独计费)。也就是说"Connector 免费"这个说法不成立,函数计算的调用费和资源费会单独出现在账单里。

七、十一个计费与稳定性坑(都来自官方文档本身)

  1. 按量实例只要存在就计费。 停掉生产者、停掉消费者、把 Topic 删光,账单照出。官方明确写了"无法暂停计费",唯一止血手段是释放实例。做压测务必设日历提醒去释放。
  2. 按峰值计费衡量的是集群处理能力,不是实际用量。 Serverless 的预留容量按小时取峰值,你半夜闲着的时段也按当时配置的容量收,不会因为没流量就归零。
  3. 磁盘按"峰值 × 保留时长"膨胀,30 MB/s + 72 小时就是 7.4 TB(见账单 4)。而且账号默认存储上限 30 TB,超限可能清理最旧消息——这是数据丢失风险,不是费用问题。
  4. 标准版不支持 SASL 和 ACL。 想让客户端带账号密码连,必须专业版。买错版本只能重建实例,Topic 和数据都要迁。
  5. 基础版(Basic)买 300 GB 只有 100 GB 可用,标准版和专业版才是 300 GB 可用 + 600 GB 副本免费。
  6. 公网接入点只有一个:9093 + SASL_SSL,强制加密和认证,同时按流量计费(香港 0.167 美元/GB)。每天 100 GB 就是 501 美元/月。
  7. Topic 不能跨地域使用。 北京 ECS 只能连北京的实例,新加坡业务就必须在新加坡建实例,跨地域访问只能走公网或 CEN,成本模型完全变了。
  8. 单条消息上限 10 MB,超限直接拒绝。大文件塞进 Kafka 是最常见的架构错误,正确做法是文件进 OSS、消息里只放引用。
  9. 分区创建/删除限速 900 个/10 秒,批量初始化脚本必须限速;另外单集群消费组上限 2,000。
  10. CPU 长期高于 85% 会影响稳定性,磁盘用到 85% 会提前删最旧消息,单节点流量超限就会触发实例级限流——流量倾斜也是触发条件,不只看总流量。
  11. Serverless 各地域的档位不一致。 新加坡只开了 Basic,香港和东京能开 Pro。写方案时不要假设"全地域全档位可用",以购买页当下显示为准。

八、标准版 / 专业版 / Serverless 怎么分工

维度标准版专业版Serverless(Basic/标准/专业)
SLA99.95%(多可用区 99.99%)99.99%,三可用区99.9 / 99.95 / 99.99%
部署形态多可用区可选独占物理集群共享实例,逻辑隔离
SASL / ACL不支持支持支持
VPC 内 SSL支持支持Basic 不支持
存储计费买 300 GB 可用 300 GB + 600 GB 副本免费同左按实际用量
消息保留自定义无限(默认上限 1 年)自定义,Basic 上限 7 天
数据可靠性9 个 911 个 99 个 9
适合谁内部系统、日志汇聚、非核心链路交易/订单核心链路、需要 ACL 与三可用区峰值波动大、不想管磁盘的团队

如果需求是事务消息、定时/延时消息、严格顺序且带重试语义,那就不该选 Kafka,应该看 RocketMQ 版——Kafka 版擅长高吞吐流式管道,RocketMQ 版擅长业务消息语义。两个产品在国际站都有,别用 Kafka 硬模拟事务消息,那是最贵的反模式。

九、三档推荐配置

POC / 验证期(月预算 50 美元内):按量付费标准版 hw.2xlarge(0.470 美元/小时)+ 300 GB 高效云盘,保留 24 小时,VPC 9092 明文接入,跑完立刻释放。压测一周约 0.47×168 + 0.02×3×168 ≈ 89 美元。

成长期(峰值 30 MB/s 以内,月预算 300 美元内):Serverless 标准版预留 30 MB/s + 100 分区,约 286 美元/月(账单 3),不用预估磁盘、峰值自动弹性,团队小的时候最省心。

规模化(峰值 50 MB/s 以上,核心链路):订阅专业版 hw.6xlarge(Group 2 1,510 美元/月)+ SSD 云盘 + 三可用区 + ACL + 9095 SASL_SSL,按 130% 冗余定规格,磁盘按保留时长单独算。这个阶段省钱的杠杆已经不在实例费上,而在保留时长和是否误开了公网。

常见问题(FAQ)

开源 Kafka 客户端能直接连阿里云 Kafka 版吗?

能,兼容 Kafka 0.11 到 3.x。不需要换 SDK,只要改 bootstrap.servers 和加 security.protocol / sasl.* 那几行配置。要注意公网接入点强制 SASL_SSL,所以老的明文客户端配置必须改。

为什么我按文档填 9094 连不上?

9094 是 SASL 接入点,只在购买时勾选过 ACL、或部署后手动开启 ACL 之后才存在。没开 ACL 的实例只有 9092(明文),填 9094 会直接超时。9095 同理,需要 VPC 传输加密。

按量付费的实例,把 Topic 删掉就不收费了吗?

不收费的前提是释放实例。删 Topic、停客户端、删消费组都不影响计费,实例存在即计费,官方写明无法暂停。

20 MB/s 的规格一天能跑多少数据?

约 1.65 TB/天。30 MB/s 约 2.47 TB/天,60 MB/s 约 4.94 TB/天,120 MB/s 约 9.89 TB/天。反推磁盘时用这个数 × 保留小时数。

买了 300 GB 存储,为什么只能存 100 GB?

你买的是基础版(Basic)。基础版 300 GB 只有 100 GB 业务可用;标准版和专业版是 300 GB 全可用,再加 600 GB 副本免费。

分区数能不能随便加到几千?

技术上 ApsaraMQ 声称单 Topic 分区不限、性能不掉,但额外分区要钱(Group 2 订阅 0.46 美元/分区/月,Serverless 0.000090 美元/分区/小时)。而且开源 Kafka 分区超过 1,000 会明显掉性能,所以这里的分区是"付费资源",规划时按消费者并行度算,不要按"多建点保险"来。

Serverless 在新加坡能开专业版吗?

不一定。各地域上线的档位不同,新加坡目前只有 Basic,香港和东京可以开 Pro。下单前在购买页看该地域实际可选的档位。

消息能存多大?能当文件传输用吗?

单条上限 10 MB,超限直接拒绝。文件走 OSS,消息体里只放 object key,这是唯一正确的做法。

官方 Connector 是免费的吗?

不是全免费。Connector 的调度基于 EventBridge(公测期免费),但实际数据搬运跑在函数计算上,函数计算的调用次数和资源占用单独计费,会出现在你自己的账单里。 本文的单价、规格、限制与接入点信息取自阿里云国际站帮助中心云消息队列 Kafka 版的 Serverless billing rules、Subscription billing rules、Pay-as-you-go、Instance editions、Limits、Billing FAQ、Supported regions、Comparison among endpoints 与 Getting Started 系列页面,页面标注更新时间为 2026 年 10 月。文中所有月费、年化、平衡点与磁盘容量均由上述单价复算(每月按 730 小时),可按正文公式自行验算。促销折扣、地域调价与新规格上线会随时改变结论,实际扣费以控制台下单页与账单页当日价格为准。

⚠️ 免责声明:本文提到的配置、价格和优惠信息可能随时间变化,请以阿里云国际版官网(alibabacloud.com)的实时信息为准。本文不构成任何投资或购买建议。注册与使用前请确认当地法规合规性。

本文由 2.chengzicloud.cloud 提供,点击访问首页了解更多