首页 » 亚马逊云科技解决方案 » 游戏行业 » 游戏服务器和后端服务 » 游戏后端服务托管解决方案
游戏后端服务托管解决方案
此解决方案有何用途 ?
该解决方案利用 Amazon GameLift 游戏服务器托管服务以及无服务器的游戏后端服务来构建游戏对话、管理玩家对话、简化游戏运维,充分利用弹性资源来优化游戏后端服务的整体成本。
方案优势
优化游戏运行成本
使用 Amazon GameLift 以及 Spot 实例来优化基于多人游戏会话的游戏后端服务运营成本。
多人在线游戏会话管理
通过从游戏客户端接入云上游戏后端服务,轻松完成游戏会话创建和玩家匹配等功能。
游戏服务状态可视化
通过观测游戏会话、玩家会话以及后端服务的信息,实现游戏服务状态的统一可视化。
解决方案架构及说明
以下架构图展示了整个方案的部署架构。
图 1: 游戏后端服务解决方案(单击可放大)
- 游戏客户端请求一个 Amazon Cognito 身份和临时 Amazon 凭证。
- 客户端用临时凭证向 API 网关签署一个匹配请求。该请求包括客户端到支持的 Amazon 区域的延迟信息。
- Amazon API Gateway 用玩家身份信息调用 Amazon Lambda 函数。
- Lambda 函数从 Amazon DynamoDB 表中获取玩家技能水平。
- Lambda 函数向 GameLift FlexMatch 请求匹配,提供玩家技能和延迟数据。
- GameLift FlexMatch 创建了一个有多个玩家的匹配,GameLift 队列根据延迟数据在 GameLift 舰队位置分配一个会话。
- GameLift FlexMatch 在匹配成功时向 Amazon SNS 发布一个事件。
- Amazon SNS 触发一个订阅的 Lambda 函数进行票据处理。
- Lambda 函数将票据结果存储在 DynamoDB 表中。
- 游戏客户端在定义的时间间隔内从 API 网关轮询匹配成功。
- Lambda 函数从 DynamoDB 表中检查匹配信息,并通过返回服务器 IP、端口和玩家会话 ID 通知客户端匹配成功。
- 客户端直接连接到服务器并发送玩家会话 ID。GameLift 服务器 SDK 被用来验证玩家会话。
- 游戏服务器用 Amazon CloudWatch 代理向亚马逊 CloudWatch 发送日志和指标。