# BeeX 10 万 QPS 架构与阿里云成本估算

评估日期:2026-06-16　|　区域:雅加达 ap-southeast-5　|　峰值目标:短时 10 万 QPS

> 2026-06-22 更新:第一版 ID 生产资源采购、服务拆分、ALB 路由、活动扩容和流量成本已整理为 HTML 文档《[ID 生产资源架构与成本规划](./id-prod-infrastructure-cost-plan.html)》。本文是 10 万 QPS 目标态估算, 不等同第一阶段上线采购清单。

---

## 结论先行

- **目标架构**:CDN/缓存吸收大部分读 → ALB 负载均衡 → 无状态应用集群(弹性扩缩)→ RDS 主从读写分离 + Redis 热点缓存 + RocketMQ 写削峰。
- **月成本分两块**:固定基建约 **$10k–16k/月**;CDN 流量随实际流量,约 **$10k–50k/月**(最大变量)。
  - 促销活跃月合计约 **$25k–65k/月(约 ¥18–46 万)**。
  - 非促销淡月约 **$8k–12k/月**。
- **省钱杠杆 = 缓存命中率**:CDN 是最大成本,命中率每提高一点,CDN + 源站成本同时下降。
- **前提**:先做代码侧改造(缓存、限流、读写分离、写异步化、应用无状态化),否则买了硬件也撑不住——硬件只是承载,架构改造是先决条件。

> ⚠️ 成本对两个假设极敏感:① 10 万 QPS 是"短时峰值"还是"7×24 持续"(本估算按**短时峰值 + 弹性扩容**;若持续,计算/DB 翻数倍、CDN 可达数百万美元/月);② 可缓存比例(本估算按 ~70% 读可被 CDN/Redis 吸收)。请据实纠正。

---

## 一、目标架构

```mermaid
flowchart TB
  U["用户 · App / H5 / 分享裂变"]
  CDN["CDN 边缘缓存<br/>吸收约 7 成读"]
  ALB["ALB 负载均衡<br/>L7 · 健康检查"]
  APP["应用集群 · 无状态弹性<br/>基线 6 + 峰值约 15 台 + 2 worker"]
  REDIS[("Redis 集群<br/>热点缓存 · 限流")]
  RDS[("RDS MySQL<br/>主 + 2 只读副本 · 读写分离")]
  MQ["RocketMQ<br/>异步写削峰"]
  SUP["SLS 日志 · OSS 静态源站"]

  U -->|可缓存读| CDN
  U -->|动态 · 写入| ALB
  CDN -. 回源 miss .-> APP
  ALB --> APP
  APP --> REDIS
  APP --> RDS
  APP --> MQ
  APP -.-> SUP
```

**关键设计点**
- 应用做成**无状态**(会话/状态进 Redis),才能水平扩展 + 弹性伸缩。
- **CDN 吸收读**:静态资源、`/s/` 分享承接页、feed、商品列表等可缓存内容走 CDN 边缘,绝大部分流量不回源。
- **读写分离**:写走主库,读走只读副本;热点读先查 Redis。
- **写削峰**:点击埋点、通知、归因等高频非强一致写改投 RocketMQ 异步落库;提现/资金等强一致写保持同步 + 幂等 + 限流。
- **限流**:ALB/应用层对注册、OTP、下单、提现、分享点击做令牌桶 + Redis 防刷。

---

## 二、购买清单与月价(雅加达,约 USD)

| 产品 | 规格 | 数量 | 计费方式 | 月价(约) |
|---|---|---|---|---|
| ECS 应用(基线) | 8核16G(c7.2xlarge) | 6 | 包年包月 | $1,100 |
| ECS 应用(峰值弹性) | 8核16G | +8~10 | 按量 / 弹性伸缩 | $600~1,200 |
| ECS worker(定时任务) | 8核16G | 2 | 包年包月 | $370 |
| 弹性伸缩 Auto Scaling | 调度服务 | — | **免费** | $0 |
| ALB 应用负载均衡 | 标准版 + LCU | 1~2 | 实例 + LCU | $1,000~4,000 |
| RDS MySQL 主(写) | 16核64G 高可用 | 1 | 包月 | $1,500(峰值可上 32核128G ~$3,000) |
| RDS MySQL 只读副本 | 16核64G | 2 | 包月 | $1,650 |
| RDS 存储 | ESSD ~1–2TB | — | 按量 | $300~600 |
| Redis/Tair 集群版 | 32~64G | 1 | 包月 | $700~1,300 |
| RocketMQ | 标准实例(雅加达) | 1 | 实例/TPS | $300~500 |
| SLS 日志服务 | 按量(索引可调优) | — | 按量 | $1,000~3,000 |
| OSS 对象存储 | 标准 + CDN 回源 | — | 按量 | $200~500 |
| **CDN 流量** | 印尼 AP2 $0.108/GB 起 | — | 按流量 | **$10,000~50,000** |

**固定基建小计(不含 CDN)**:约 **$10,000–16,000/月**。
**含 CDN(促销活跃月)**:约 **$25,000–65,000/月(¥18–46 万)**。

---

## 三、成本怎么算 / 怎么省

**1. CDN 是最大且唯一难估的项**——它按"传输 GB + 请求数"计费,不是按峰值 QPS。
- 例:命中 CDN 出网 100TB/月 ≈ $10,800;300TB ≈ $30k;500TB ≈ $48k。
- 真实账单取决于:平均响应体积、CDN 命中率、静态 vs 动态占比。**务必用真实流量建模,别拿峰值 QPS 直接外推满月**(那是数百万美元的理论上限,不现实)。
- 省钱:纯静态用**标准 CDN**(无请求费),别用 DCDN(多收请求费、印尼流量更贵);压缩响应体积;拉高缓存命中率与 TTL。

**2. 计算用弹性扩容**:基线包年包月(便宜 30–40%),峰值用按量 + 弹性伸缩(伸缩服务免费,只付被拉起的 ECS)。短时峰值 ≠ 全月满载,这是省钱关键。

**3. 数据库**:Redis 命中率越高,RDS 越轻、副本越少。主库 16核64G 起步,压测后再决定是否上 32核128G。

---

## 四、关键假设(请纠正)

| 假设 | 本估算取值 | 若不同的影响 |
|---|---|---|
| 10 万 QPS 是? | 短时峰值(弹性扩容) | 若 7×24 持续:计算/DB 翻数倍,CDN 可达数百万美元/月 |
| 可缓存比例 | ~70% 读走 CDN/Redis | 若写多/不可缓存:应用 + DB 集群显著变大 |
| 平均响应体积 | ~20KB | 体积翻倍 → CDN 流量费翻倍 |
| 数据量 | RDS ~1–2TB | 数据量大 → 存储 + 备份成本上升 |

---

## 五、前提:先做代码改造(否则买了也撑不住)

硬件只是承载,以下改造是上 10 万 QPS 的先决条件。当前部署事实见 [部署总览](deployment-overview.html)，生产操作见 [运维手册](ops-runbook.html)，近期基础设施规划见 [印尼生产基础设施与成本计划](id-prod-infrastructure-cost-plan.html):
1. 应用无状态化(会话/状态进 Redis)。
2. 热点读接缓存(feed、商品、`/s/` 承接页、配置中心);`/s/` 承接页改可缓存。
3. RDS 读写分离路由(已有多数据源骨架可扩展)。
4. 网关 + 应用层限流防刷。
5. 高频写(点击埋点/通知)走 MQ 异步削峰。
6. 把定时同步任务从 web 进程拆到独立 worker。

---

> 价格说明:雅加达区逐规格 USD 单价被锁在阿里云购买页计算器内,静态页取不到;本表用阿里云国际站第三方价目库的国际区价做近似(误差约 ±15%),存储/CDN/LCU 单价取自官方文档。**落地前请登录阿里云雅加达购买页核实单价,并向销售索取 ID 区专项报价 + 资源包折扣**(ALB LCU、CDN 流量包预付可明显降本)。
