1. 用途和受众
1.1 预期用途
- 指导华为云上面向自定义游戏后端托管的架构设计和开发,涵盖玩家身份认证、游戏服务器托管、实时聊天和好友图谱等完整后端能力。
- 为售前、解决方案设计、实施和审查提供可重用的架构模式。
- 作为解决方案手册、交付包或实际部署的架构基础。
- 定义安全性、可靠性、性能、成本、运营和合规性护栏。
1.2 目标受众
- 华为云 CCE 用户和 FunctionGraph 无服务器应用开发者;
- 游戏工作室的后端架构师和游戏服务端开发团队;
- 需要为跨平台多人在线游戏构建自定义后端、实现多平台身份认证(Steam/Apple/Google/Facebook)统一接入的游戏技术团队;
- 关注全 Serverless + 容器化弹性降本、希望流量高峰自动扩容低谷自动收缩且仅按实际用量计费的游戏后端管理者;
- 需要 WebSocket 实时聊天 + GES 图引擎好友图谱社交推荐 + CDN 全球加速认证延迟优化的在线游戏全栈开发团队。
2. 参考架构概述
2.1 架构描述
这是一个自定义游戏后端托管框架,为游戏开发者提供从玩家身份认证、游戏服务器托管、实时聊天到好友图谱的完整后端能力。玩家通过 Steam、Apple、Google 或 Facebook 登录后,系统自动管理身份令牌、托管游戏服务器实例、处理 WebSocket 实时聊天、维护好友关系图谱,开发者只需关注游戏逻辑本身。架构采用全 Serverless + 容器化的弹性设计:流量高峰时自动扩容、低谷时自动收缩,按实际用量计费。通过 CDN 分发 JWT 公钥优化全球延迟,WAF 保护 API 入口安全,分布式追踪全链路可观测。
2.2 业务背景
| 项目 |
描述 |
| 业务问题 |
传统自建方案需自行搭建认证系统并维护 Token 刷新和多平台对接;游戏服务器固定部署高峰扩容慢;聊天功能需自建 WebSocket 服务;好友关系用关系型数据库查询效率低 |
| 期望的结果 |
IAM 统一身份认证内置多平台支持;ECS 弹性伸缩按需分配游戏服务器实例;APIG WebSocket + FunctionGraph 开箱即用实时聊天;GES 图引擎毫秒级好友推荐查询 |
| 主要用户 |
跨平台多人在线游戏玩家(Steam/Apple/Google/Facebook)、游戏开发者 |
| 关键制约因素 |
多平台身份认证集成的复杂性;实时通信的低延迟要求;好友图谱的复杂社交查询性能;全链路可观测性需求 |
| 成功指标 |
认证延迟显著降低(CDN 分发 JWT 公钥);游戏服务器弹性匹配按需扩缩容;WebSocket 空闲不产生计算费用;好友推荐查询毫秒级响应 |
2.3 架构优点
| 优点 |
描述 |
| 全 Serverless + 容器化弹性设计 |
身份认证层全 Serverless(APIG + FunctionGraph + GeminiDB),游戏服务层混合使用容器(CCE)和弹性服务器(ECS),按需扩缩容,仅按实际用量计费 |
| 多平台身份认证集成 |
通过 IAM 统一身份认证服务,内置支持访客、Steam、Apple、Google Play、Facebook 五种登录方式,可扩展至游戏机平台 |
| CDN 优化认证延迟 |
JWT 公钥通过 CDN 分发到全球边缘节点,后端验证 Token 时无需回源,显著降低认证延迟 |
| WebSocket 实时通信 |
API 网关 WebSocket 端点管理长连接,仅在有消息时触发 FunctionGraph,空闲不产生计算费用,适合轻量级游戏聊天 |
| 图引擎驱动社交推荐 |
GES 图引擎服务存储好友关系图谱,支持复杂社交查询(好友的好友、共同好友、推荐候选人),比关系型数据库效率高数个数量级 |
| 全链路可观测性 |
AOM 分布式追踪 + CES 云监控覆盖所有组件,X-Ray 级别的请求链路追踪帮助开发者快速定位性能瓶颈 |
2.4 设计关注点
| 效益 |
架构如何实现它 |
测量 |
| 安全与合规 |
WAF 保护 API 入口免受 SQL 注入、XSS 等常见 Web 攻击并配置速率限制;DEW 管理密钥与加密;VPC 网络隔离所有服务 |
API 入口攻击防护覆盖率;密钥管理合规性 |
| 可靠性和弹性 |
ECS 弹性伸缩托管游戏服务器;CCE 容器化后端自动扩缩容;GeminiDB 高可用存储身份数据和玩家数据 |
弹性扩缩容响应时间;数据持久性 SLA |
| 性能和可扩展性 |
CDN 全球分发 JWT 公钥降低认证延迟;GES 图引擎毫秒级社交查询;APIG WebSocket 高并发长连接管理 |
认证延迟;好友查询响应时间;WebSocket 并发连接数 |
| 成本效益 |
全 Serverless + 容器化按需计费;WebSocket 空闲不产生计算费用;托管服务免自建运维投入 |
按实际用量计费 vs 固定部署成本对比 |
| 卓越运营 |
AOM 分布式追踪全链路性能分析;CES 云监控日志、指标和告警;VPC 流量监控 |
追踪覆盖率;告警响应时间 |
| 交付敏捷性 |
IAM 内置多平台身份认证开箱即用;APIG + FunctionGraph 无服务器架构减少运维;GES 图引擎免自建图数据库 |
新游戏上线周期;运维人力降低 |
2.5 典型架构
典型架构图
| 层级 |
色系 |
包含服务 |
| 外部系统 |
橙色 |
游戏客户端(Unreal/Unity/Godot)、第三方身份提供商、游戏玩家 |
| 接入与安全层 |
蓝色 |
CDN、WAF、APIG(REST API) |
| 身份认证层 |
蓝色 |
IAM、FunctionGraph、DEW、GeminiDB |
| 游戏服务层 |
蓝色 |
ECS(游戏服务器)、CCE(容器后端)、FunctionGraph(聊天/后端函数)、APIG(WebSocket) |
| 数据与图谱层 |
紫色 |
GeminiDB(玩家数据)、GES(好友图谱)、OBS(对象存储) |
| 公共服务 |
黄色 |
VPC、CES(云监控)、AOM(应用运维) |
2.6 流程描述
| 步骤 |
流向 |
说明 |
| ① |
游戏客户端 → 第三方IDP |
玩家发起登录请求(支持访客/Steam/Apple/Google/Facebook 多种身份) |
| ② |
客户端 → CDN → WAF → APIG(REST) |
CDN 分发 JWT 公钥优化延迟,WAF 防护 API 入口安全 |
| ③ |
APIG → FunctionGraph(身份) |
API 网关路由认证请求到 FunctionGraph 身份管理函数 |
| ④ |
FunctionGraph → IAM + DEW |
调用 IAM 验证身份,DEW 管理密钥与加密 |
| ⑤ |
FunctionGraph → GeminiDB |
身份数据读写 GeminiDB,完成认证并返回 Token |
| ⑥ |
客户端 → APIG(WebSocket/REST) |
认证通过后,客户端通过 API 网关访问后端 REST/WebSocket API |
| ⑦ |
APIG → CCE(容器服务) |
CCE 容器化服务处理玩家数据存取业务逻辑 |
| ⑧ |
CCE → ECS(游戏服务器) |
ECS 托管游戏服务器,管理多人游戏会话与弹性匹配 |
| ⑨ |
客户端 → APIG(WebSocket) → FunctionGraph |
WebSocket API 网关实现实时聊天,FunctionGraph 处理消息 |
| ⑩ |
FunctionGraph → GES(图引擎) |
GES 图引擎管理好友列表与社交推荐 |
2.7 云服务产品清单
| 分类 |
服务或产品 |
推荐配置 |
| 接入与安全 |
CDN(内容分发网络) |
全球边缘节点分发 JWT 公钥,降低认证延迟 |
| 接入与安全 |
WAF(Web应用防火墙) |
API 入口防护,速率限制,SQL 注入/XSS 防护 |
| 接入与安全 |
APIG(API网关 - REST) |
暴露身份认证 REST API,请求路由、限流、认证 |
| 接入与安全 |
APIG(API网关 - WebSocket) |
管理 WebSocket 长连接,实时聊天通信 |
| 身份认证 |
IAM(统一身份认证) |
玩家身份池,支持访客/Steam/Apple/Google/Facebook |
| 身份认证 |
FunctionGraph(函数工作流 - 身份) |
处理登录、Token 刷新、第三方身份验证逻辑 |
| 身份认证 |
DEW(数据加密服务) |
密钥和加密操作,保护敏感数据与认证密钥 |
| 游戏服务 |
ECS(弹性云服务器) |
托管游戏服务器实例,弹性匹配,对应 GameLift |
| 游戏服务 |
CCE(云容器引擎) |
运行容器化后端服务(Node.js),处理玩家数据存取 |
| 游戏服务 |
FunctionGraph(函数工作流 - 聊天/后端) |
WebSocket 聊天消息处理、后端无服务器逻辑 |
| 数据与图谱 |
GeminiDB(云数据库) |
存储玩家身份数据、Token 状态、玩家游戏数据 |
| 数据与图谱 |
GES(图引擎服务) |
图数据库存储好友关系图谱,毫秒级好友推荐查询 |
| 数据与图谱 |
OBS(对象存储) |
存储静态资源、游戏资产文件、日志归档 |
| 安全与运维 |
VPC(虚拟私有云) |
网络隔离与安全边界,所有服务在 VPC 内通信 |
| 安全与运维 |
CES(云监控服务) |
监控全链路日志、指标和告警,VPC 流量监控 |
| 安全与运维 |
AOM(应用运维管理) |
分布式追踪、性能分析、应用运维管理 |
3. 参考链接
- 产品文档:
- 实施指南:
- 源代码或 IaC:
- 操作手册:
- 安全性和合规性映射:
4. 使用限制
- 本架构面向自定义游戏后端托管场景,适用于跨平台多人在线游戏(Steam/Apple/Google/Facebook)。
- ECS 游戏服务器托管对应 AWS GameLift 能力,弹性匹配策略需根据游戏类型和玩家规模调优。
- GES 图引擎适用于好友图谱和社交推荐场景,关系型数据建议使用 GeminiDB 或 GaussDB。
- WebSocket 实时通信适合轻量级游戏聊天,大规模实时战斗同步建议使用专用游戏服务器方案。
- IAM 多平台身份认证目前内置支持访客、Steam、Apple、Google Play、Facebook,其他平台需自定义集成。
- 全 Serverless + 容器化设计按实际用量计费,需关注 FunctionGraph 和 APIG 的调用频率和并发连接数成本。
附录 A. 术语和缩略语
| 术语 |
定义 |
| CDN |
内容分发网络,全球边缘节点分发 JWT 公钥和静态资源 |
| WAF |
Web 应用防火墙,保护 API 入口安全 |
| APIG |
API 网关,REST API 和 WebSocket 长连接管理 |
| IAM |
统一身份认证,管理玩家身份池和多平台登录 |
| FunctionGraph |
函数工作流,无服务器计算处理身份管理和聊天逻辑 |
| DEW |
数据加密服务,管理密钥和加密操作 |
| ECS |
弹性云服务器,托管游戏服务器实例 |
| CCE |
云容器引擎,运行容器化后端服务 |
| GeminiDB |
云数据库,存储玩家身份数据和游戏数据 |
| GES |
图引擎服务,好友关系图谱和社交推荐 |
| OBS |
对象存储,存储静态资源和游戏资产 |
| VPC |
虚拟私有云,网络隔离与安全边界 |
| CES |
云监控服务,监控日志、指标和告警 |
| AOM |
应用运维管理,分布式追踪和性能分析 |
| JWT |
JSON Web Token,用于身份认证的无状态令牌 |
| IDP |
身份提供商(Identity Provider),如 Steam/Apple/Google/Facebook |
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
评论(0)