亚马逊AWS官方博客

37GAMES 在 Aurora Serverless v2 高可用及成本优化上的实践

摘要:Amazon Aurora Serverless v2 支持与预置实例混合部署,作为 Replica 实现按需扩缩容。本文基于 37GAMES 的实践,验证了该方案在故障切换、扩展速度和成本优化方面的表现,实现了40%+的成本节省,同时保持~20秒的故障转移时间和零数据丢失。


一、引言

Amazon Aurora Serverless v2 支持与预置实例混合部署,作为 Replica 实现按需扩缩容。本文基于 37GAMES 的实践,验证了该方案在故障切换、扩展速度和成本优化方面的表现,实现了40%+的成本节省,同时保持~20秒的故障转移时间和零数据丢失。

二、关于 37GAMES

三七互娱成立于2011年,是全球TOP20上市游戏企业,37GAMES 是其2012年成立的海外发行品牌。

游戏平台服负责玩家账号、支付等核心功能,一旦故障将导致所有接入游戏无法注册、登录和充值。传统双预置实例方案虽能保障高可用,但 Replica 日常读流量不足5%,却需持续承担全额预置实例费用。Serverless v2 混合部署在空闲期仅需 0.5~1.5 ACU,故障时快速扩展至所需容量,实现成本与可用性的最佳平衡。

三、测试验证

使用 EC2 持续 访问 Aurora 集群写节点时,进行故障转移操作,测试环境架构图如下:

[图1:测试环境架构图]

3.1 测试准备

配置项 参数
Region ap-northeast-1(东京)
Aurora 版本 MySQL 3.04(兼容 MySQL 8.0)
主实例规格 db.r6g.2xlarge
Aurora Serverless v2容量范围 0.5~32ACU
Aurora Serverless v2 故障转移优先级 Tier 15
测试负载
  • 写入负载:400 QPS;读取负载:16,000 QPS
  • 读写操作均访问写入端点(模拟真实业务需求,要求读写一致性,避免读副本延迟导致数据不一致),CPU 推至约 74%
  • 应用层配置自动重试

3.2 测试流程

测试分四个阶段进行,全面覆盖空闲态、稳定负载、两次故障转移场景:

阶段 状态 Serverless ACU 主实例 CPU 关键观察
阶段 1 空闲态 0.5 ACU ~1.5% 最低容量待机,资源消耗极低
阶段 2 稳定负载 1.5 ACU 74% Serverless 仅作热备,不承载实际流量
阶段 3 故障转移 #1
预置→Serverless
1.5→22 ACU
(~2分钟)
大幅下降 写入 400 QPS 稳定;读取 5K→16K QPS(2分钟内恢复)
阶段 4 故障转移 #2
Serverless→预置
22→1.5 ACU
(自动缩容)
76% 预置实例立即满载运行,无需扩展等待

阶段1:初始环境(压测前)

[图2:阶段1:预置实例 CPU 低负载 + Serverless 最低容量待机]

未加压测时,预置实例 CPU 约 1.5%,Serverless CPU 同样处于极低水平,Capacity 维持 0.5 ACU 最低容量待机,系统整体处于空闲状态。

阶段2:压测稳定运行

[图3:阶段2:预置实例 CPU 推至 74% + Serverless 小幅上升]

压测启动,开启相关的写入读取请求后,预置实例 CPU 推至 74%,Serverless CPU 小幅跟随上升,Capacity 上升到 1.5 ACU,Serverless 此时仅作为热备。

阶段3:第一次故障转移(写入从预置转到 Serverless)

[图4:阶段3:第一次故障转移— 预置 CPU 大幅下降,Serverless 扩容接管]

手动触发故障转移:故障转移时间约为 20 秒,转移完成后,预置实例 CPU 大幅下降(切换为从副本),Serverless CPU 迅速从低位飙升至约 60% 后逐渐稳定,Capacity 在约 2 分钟内从 1.5 ACU 扩容至 22 ACU。在 Serverless Capacity 扩容至22 ACU 期间,写入速度保持 400 QPS,读取速度从 5000 QPS 逐步提高到 16000 QPS 并保持稳定。

阶段4:第二次故障转移(写入从 Serverless 转到预置)

[图5:阶段4:第二次故障转移— 预置实例重新接管,Serverless 开始缩容]

手动触发故障转移:故障转移时间约为20秒,转移完成后,预置实例重新接管所有流量,CPU 快速恢复至 76%,测试负载保持 400 QPS 写入 和 16000 QPS 读取,Serverless CPU 大幅下降至低位,Capacity 随之开始缩容,最终稳定在 1.5 ACU。

3.3 测试结论

通过四个阶段的测试,全面验证了混合部署方案的高可用性和性能表现:

指标 表现 结论
写入性能 400 QPS 保持稳定 故障转移期间通过重试机制实现防止数据丢失
读取性能 ~2 分钟内恢复 16,000 QPS 应用层重试有效吸收短暂波动
数据完整性 零数据丢失 两次故障转移均通过验证
切换时间 ~20 秒 符合预期
扩容速度 1.5 →22 ACU(~2 分钟) Tier 15 特性,成本最优

四、最佳实践

4.1 故障转移优先级

Serverless 故障转移优先级可设置为0-15。

  • Tier 0/1:Aurora Serverless 在故障转移优先级设置为 0/1 时,会对实例进行预热(提前扩容到相应 ACU),切换后可立即满载运行。
  • Tier 2-15:若设置为 2-15,实例将独立扩缩,故障转移后 Serverless 会从较低的 ACU 开始扩容。

本次测试中设置故障转移优先级为15,在可容忍 2 分钟恢复时间的前提下最大化成本节省(本次测试观察到的 1.5→22 ACU 扩容过程即为此原因)。生产环境可根据对故障转移恢复速度的需求选择合适的优先级。

4.2 应用层配置

建议配置连接重试和指数退避,配合 RDS Proxy 可进一步平滑故障转移期间的连接波动。

五、成本分析

基于 ap-northeast-1 区域价格(r6g.2xlarge $1.253/h,Serverless v2 $0.15/ACU/h),预置主实例 + Serverless v2 Replica 混合部署方案相比双预置实例可节省 41%。叠加 Database Savings Plans (1 年期承诺)后,总节省成本提升至 44%。

重要前提:r6g 实例不支持 Database Savings Plans(仅支持第 7 代及以上实例),以下 44% 节省仅来自 Serverless v2 的 35% 折扣。

方案 主实例/月 从实例/月 总成本/月 vs 双预置节省
双预置实例(基准线) $902.16 $902.16 $1,804.32
预置 + Serverless Replica(实测 1.5 ACU) $902.16 $162.00 $1,064.16 ↓ 41%
预置(r6g,无折扣)+ Serverless + Savings Plans $902.16 $105.30
(原 $162 × 0.65)
$1,007.46 ↓ 44%

六、适用场景

Aurora Serverless v2 Replica 适合以下场景

  1. Replica 日常读流量较少,主要作为高可用保障:传统双预置实例方案中,Replica 日常读流量不足5%却需承担全额预置实例费用。Serverless v2 在空闲期仅需 0.5~1.5 ACU,故障时快速扩展至所需容量,实现成本与可用性的最佳平衡。
  2. 读负载波动较大,需要弹性扩缩容:对于读流量存在明显峰谷差异的业务(如游戏活动期、促销期),Serverless v2 可根据实际负载在线动态扩缩容,避免按峰值容量持续付费。

除了作为 Replica 使用,Aurora Serverless v2 同样适合业务高低峰明显的场景(如零售促销、游戏周期性高峰)、多租户应用、开发测试环境、新应用部署,以及现有预置工作负载的评估和替换,更多内容见 Amazon Aurora Serverless v2 官方文档

七、总结

Aurora Serverless v2 混合部署在 37GAMES 的实践中验证了其在高可用和成本优化方面的价值:零数据丢失、20秒故障切换、40%+ 实例成本节省。该方案特别适合 Replica 日常读流量少、以高可用为主的场景,在保障业务连续性的同时显著降低热备成本。

➡️ 下一步行动:

相关产品:

  • Amazon Aurora — 适用于 PostgreSQL、MySQL 和 DSQL 的无服务器关系数据库服务
  • Amazon EC2 — 安全且可调整大小的计算容量
  • Amazon RDS — 完全托管的关系数据库服务

相关文章:

*前述特定亚马逊云科技生成式人工智能相关的服务目前在亚马逊云科技海外区域可用。亚马逊云科技中国区域相关云服务由西云数据和光环新网运营,具体信息以中国区域官网为准。

本篇作者

李标云

三七互娱数据库工程师,主要负责 37GAMES 海外发行平台的数据库运维工作,专注于 MySQL、Redis、Kafka 等数据库产品,具备丰富的多云数据库维护经验。

张辉

三七互娱高级运维工程师,主要负责 37GAMES 海外发行平台的运维。擅长设计高可用架构,善于优化系统性能和稳定性,致力于提升平台的可用性,确保用户获得流畅的游戏体验。

黄际东

AWS 解决方案架构师,有过银行、旅游、直播、教育等行业的十多年项目经验。曾独立主导实现从零到千万用户级别的教育类应用,也参与研发过月活跃用户过千万的全球知名直播平台。在互联网领域拥有多年的研发及运维经验,是一个喜欢编程的解决方案架构师。

高振娇

亚马逊云科技数据库产品经理,具有丰富的关系型数据库和大规模数据库架构经验,对分布式数据库和互联网业态有比较深入理解。


AWS 架构师中心:云端创新的引领者

探索 AWS 架构师中心,获取经实战验证的最佳实践与架构指南,助您高效构建安全、可靠的云上应用