首页  »  亚马逊云科技解决方案  »  游戏行业  »  游戏服务器和后端服务  »  游戏后端服务托管解决方案

游戏后端服务托管解决方案

此解决方案有何用途 ?

该解决方案利用 Amazon GameLift 游戏服务器托管服务以及无服务器的游戏后端服务来构建游戏对话、管理玩家对话、简化游戏运维,充分利用弹性资源来优化游戏后端服务的整体成本。

方案优势

优化游戏运行成本

使用 Amazon GameLift 以及 Spot 实例来优化基于多人游戏会话的游戏后端服务运营成本。

多人在线游戏会话管理

通过从游戏客户端接入云上游戏后端服务,轻松完成游戏会话创建和玩家匹配等功能。

游戏服务状态可视化

通过观测游戏会话、玩家会话以及后端服务的信息,实现游戏服务状态的统一可视化。

解决方案架构及说明

以下架构图展示了整个方案的部署架构。

  1. 游戏客户端请求一个 Amazon Cognito 身份和临时 Amazon 凭证。
  2. 客户端用临时凭证向 API 网关签署一个匹配请求。该请求包括客户端到支持的 Amazon 区域的延迟信息。
  3. Amazon API Gateway 用玩家身份信息调用 Amazon Lambda 函数。
  4. Lambda 函数从 Amazon DynamoDB 表中获取玩家技能水平。
  5. Lambda 函数向 GameLift FlexMatch 请求匹配,提供玩家技能和延迟数据。
  6. GameLift FlexMatch 创建了一个有多个玩家的匹配,GameLift 队列根据延迟数据在 GameLift 舰队位置分配一个会话。
  7. GameLift FlexMatch 在匹配成功时向 Amazon SNS 发布一个事件。
  8. Amazon SNS 触发一个订阅的 Lambda 函数进行票据处理。
  9. Lambda 函数将票据结果存储在 DynamoDB 表中。
  10. 游戏客户端在定义的时间间隔内从 API 网关轮询匹配成功。
  11. Lambda 函数从 DynamoDB 表中检查匹配信息,并通过返回服务器 IP、端口和玩家会话 ID 通知客户端匹配成功。
  12. 客户端直接连接到服务器并发送玩家会话 ID。GameLift 服务器 SDK 被用来验证玩家会话。
  13. 游戏服务器用 Amazon CloudWatch 代理向亚马逊 CloudWatch 发送日志和指标。