百万级并发在线游戏弹性云架构

举报
华为云架构中心 发表于 2026/09/10 10:23:35 2026/09/10
【摘要】 这是一个面向移动和在线游戏的高可用、可扩展、弹性云架构,专为支持百万级玩家并发而设计。架构采用多层分离设计,从 DNS 解析、内容分发、负载均衡到计算、缓存、数据库和消息通知,全链路支持自动伸缩和多可用区容灾。

1. 用途和受众

1.1 预期用途

指导华为云上面向百万级玩家并发的在线游戏弹性架构设计和开发。

为售前、解决方案设计、实施和审查提供可重用的架构模式。

作为解决方案手册、交付包或实际部署的架构基础。

定义安全性、可靠性、性能、成本、运营和合规性护栏。

1.2 目标受众

华为云 ECS 用户和弹性伸缩 AS 实践者;

游戏工作室的服务端架构师和在线游戏运维团队;

需要为手游或在线游戏构建支持百万级并发、流量峰值自动弹性扩缩容的高可用后端技术团队;

关注多可用区容灾和分层安全隔离、希望实现单机房故障自动切换且玩家无感知的游戏基础设施管理者。


2. 参考架构概述

2.1 架构描述

这是一个面向移动和在线游戏的高可用、可扩展、弹性云架构,专为支持百万级玩家并发而设计。架构采用多层分离设计,从 DNS 解析、内容分发、负载均衡到计算、缓存、数据库和消息通知,全链路支持自动伸缩和多可用区容灾。游戏服务器像弹簧一样——玩家多时自动扩容,玩家少时自动缩容,只为实际使用的资源付费。数据库采用主备多可用区,即使整个机房故障也能自动切换,玩家几乎无感知。

2.2 业务背景

项目 描述
业务问题 热门游戏上线时流量瞬间飙升百倍,传统自建机房要么提前囤大量服务器(平时浪费),要么扛不住峰值(玩家流失);单机房故障即宕机;CDN 需自建或高价购买
期望的结果 弹性伸缩按需扩缩容,只为实际使用的资源付费;多可用区主备自动容灾切换;云原生 CDN 全球分发;托管缓存和数据库免运维
主要用户 移动/PC/主机玩家(百万级并发)、游戏运营团队
关键制约因素 百万级并发对计算和数据库的极端压力要求;多平台推送通知兼容性(Apple/Google/Amazon/Windows);低延迟全球分发需求
成功指标 峰值流量自动扩容无感知;单机房故障自动切换零中断;数据库迁移后成本降低 2-3 倍;玩家就近获取素材降低延迟

2.3 架构优点

优点 描述
弹性伸缩 Web 服务器和应用服务器均使用弹性伸缩组,根据实时流量自动扩缩容,只为实际使用的资源付费——玩家高峰期自动扩容,低谷期自动缩容
多可用区容灾 所有关键组件(Web服务器、应用服务器、Redis缓存、GaussDB数据库)均跨多个可用区部署,单机房故障不影响服务连续性
分层安全隔离 VPC 划分公有子网(Web 层)和私有子网(应用层+数据层),NAT 网关控制出站流量,内部 ELB 隔离应用层,形成纵深防御
读写分离与缓存加速 DCS Redis 缓存热点数据减少数据库压力,GaussDB 主备+读副本实现读写分离,GeminiDB 处理 NoSQL 高速读写场景
全球内容加速 CDN + OBS 组合实现静态游戏资源的全球分发,玩家就近获取素材和 DLC,大幅降低延迟
托管免运维 缓存(DCS)和数据库(GaussDB/GeminiDB)均为全托管服务,无需自建和运维,降低运维成本

2.4 设计关注点

效益 架构如何实现它 测量
安全与合规 VPC 隔离公有/私有子网,NAT 网关控制出站流量,内部 ELB 隔离应用层;IAM 统一身份认证管理所有云资源权限 编译环境不暴露公网;权限最小化覆盖
可靠性和弹性 所有关键组件跨多可用区部署;DCS Redis 多AZ主备自动容灾恢复;GaussDB 主备多AZ支持最多 15 个读副本 单机房故障自动切换;RPO≈0
性能和可扩展性 弹性伸缩组按实时流量自动扩缩容;CDN 全球分发加速静态内容;GeminiDB 提供可预测的低延迟 NoSQL 读写 百万级并发无降级;延迟 < 阈值
成本效益 按需扩缩容只为实际使用资源付费;托管服务免自建机房投入;GaussDB 迁移后成本降低 2-3 倍 成本 vs 自建方案降低比例
卓越运营 CES 云监控所有服务运行状态并提供告警;SMN 全托管推送通知开箱即用支持多平台 监控覆盖率 100%;告警响应时间
交付敏捷性 全托管服务减少运维投入;弹性伸缩自动化扩缩容无需人工干预;CDN 全球分发无需自建 新游戏上线周期;运维人力降低

2.5 典型架构

典型架构图

层级 色系 包含服务
外部系统 / 玩家 橙色 玩家 (Internet) — 移动/PC/主机玩家
DNS & 内容分发层 蓝色 DNS(云解析服务)、CDN(内容分发网络)、OBS(对象存储服务)
网络接入与负载均衡层 蓝色 VPC(虚拟私有云)、ELB(弹性负载均衡)、NAT网关
Web计算层(公共子网·多AZ) 蓝色 ECS(Web服务器)、AS(弹性伸缩)
应用计算层(私有子网·多AZ) 蓝色 ECS(应用服务器)、ELB内部(内网负载均衡)
缓存与数据库层 蓝色 DCS(Redis缓存主备)、GaussDB(关系数据库主备)、GeminiDB(NoSQL文档数据库)
消息通知层 蓝色 SMN(消息通知服务)
公共服务 黄色 IAM(统一身份认证)、CES(云监控服务)、VPC(网络隔离)

2.6 流程描述

步骤 流向 说明
① 玩家 → DNS 玩家通过 DNS 解析访问游戏服务端点
② DNS → CDN DNS 根据延迟/地理位置策略路由到最近 CDN 节点
③ CDN → OBS CDN 从 OBS 获取并缓存静态游戏资源(素材、DLC、日志)
④ DNS → ELB 动态请求路由到 ELB 弹性负载均衡
⑤ ELB → ECS(Web) ELB 将流量分发到多可用区的 Web 服务器(ECS + AS 弹性伸缩)
⑥ ECS(Web) → ECS(App) Web 服务器经内部 ELB 转发至应用服务器
⑦ ECS(App) → DCS 应用服务器读写 DCS Redis 缓存(多AZ主备)
⑧ ECS(App) → GaussDB/GeminiDB 应用服务器读写 GaussDB 关系库和 GeminiDB NoSQL 库
⑨ ECS(App) → SMN → 玩家 SMN 向多平台玩家推送游戏通知

2.7 云服务产品清单

分类 服务或产品 推荐配置
DNS与内容分发 DNS(云解析服务) 100% SLA,延迟/地理位置路由策略
DNS与内容分发 CDN(内容分发网络) 全球分布式缓存,自动就近缓存
DNS与内容分发 OBS(对象存储服务) 存储游戏素材、DLC、日志文件,作为 CDN 源站
网络接入 VPC(虚拟私有云) 网络隔离,公有/私有子网,跨多可用区
网络接入 ELB(弹性负载均衡) 外部流量负载均衡,SSL 终止,自动伸缩
网络接入 NAT网关 私有子网访问互联网,阻止外部直接访问
计算 ECS(弹性云服务器)— Web 服务器 公共子网,多可用区,弹性伸缩组
计算 ECS(弹性云服务器)— 应用服务器 私有子网,多可用区,与 Web 层分离
计算 AS(弹性伸缩) 根据流量自动扩缩容,跨多可用区
缓存与数据库 DCS(分布式缓存服务Redis版) 全托管 Redis,多AZ主备,读副本弹性扩展
缓存与数据库 GaussDB(云数据库) MySQL 兼容,主备多AZ,最高 64TB,最多 15 个读副本
缓存与数据库 GeminiDB(云数据库) 高速低延迟托管 NoSQL 文档数据库,无限扩展
消息通知 SMN(消息通知服务) 全托管推送,支持 Apple/Google/Amazon/Windows
安全 IAM(统一身份认证) 身份认证与访问控制,管理所有云资源权限
运营 CES(云监控服务) 监控所有云服务运行状态,提供告警通知

3. 参考链接

产品文档

实施指南:

源代码或 IaC:

操作手册:

安全性和合规性映射:


4. 使用限制

本架构面向百万级玩家并发的在线游戏场景,适用于移动游戏、PC 游戏和主机游戏。

弹性伸缩策略需根据实际流量模型调优,避免频繁扩缩容导致服务抖动。

GaussDB 最多支持 15 个读副本,超大规模场景需考虑分库分表方案。

GeminiDB 适用于 NoSQL 高速低延迟场景,关系型数据建议使用 GaussDB。

SMN 推送通知支持 Apple、Google、Amazon 和 Windows 平台,其他平台需自定义集成。

多可用区部署需确保所在 Region 至少有 2 个可用区。

附录 A. 术语和缩略语

术语 定义
DNS 云解析服务,提供 100% SLA 的 DNS 解析
CDN 内容分发网络,全球分布式缓存加速
OBS 对象存储服务,存储游戏素材、DLC、日志
VPC 虚拟私有云,提供网络隔离环境
ELB 弹性负载均衡,外部流量负载均衡
NAT 网络地址转换网关,私有子网访问互联网
ECS 弹性云服务器,运行 Web 和应用服务
AS 弹性伸缩,自动扩缩容实例数量
DCS 分布式缓存服务 Redis 版,全托管 Redis 缓存
GaussDB 云数据库,MySQL 兼容关系数据库
GeminiDB 云数据库,高速低延迟 NoSQL 文档数据库
SMN 消息通知服务,多平台推送通知
IAM 统一身份认证,身份认证与访问控制
CES 云监控服务,监控与告警
AZ 可用区,同一 Region 内的独立故障域
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。