View a markdown version of this page

GAMEPERF02-BP02 设计一种方法,支持将延迟敏感的游戏基础设施放置在玩家附近,以提高性能 - 游戏行业镜头

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

GAMEPERF02-BP02 设计一种方法,支持将延迟敏感的游戏基础设施放置在玩家附近,以提高性能

单独放置游戏服务器等延迟敏感型基础设施可最大限度地减少长网络路由的影响。可重复部署可以轻松维护多个位置,从而为玩家提供更高的性能。Ping 是一种常见的指标,出现在游戏界面中,低 ping 可能是一种差异化能力。

在未建立这种最佳实践的情况下暴露的风险等级:

实施指导

首次发布游戏时,你可能还没有足够的玩家群信息,无法充分知道在哪里部署最接近对游戏最感兴趣的玩家的基础架构。这是一个常见的挑战,你应该通过设计一个架构来为这种情况做好准备,该架构允许你快速调整主机布局策略,将服务器部署到离玩家更近的地方。游戏开发者通常会定期评估其游戏基础设施的部署,这是一种反复的发布后分析,以便随着时间的推移采用迭代方法逐步投资于改进。

最佳做法是使用基础设施即代码模板(例如 AWS CloudFormation Hashicorp 的 Terraform)来配置您的基础设施,例如 VPC、子网配置和启动关键游戏服务所需的依赖关系,这样您就可以参考这些模板,在需要时快速对其进行自定义,然后将其部署到需要额外基础设施以支持玩家的位置。

您还应确保了解如何发展当前的部署策略以允许将来的扩展。IaC 模板是可重复的,但不能替代网络规划。IPAM 管理您的 VPC。子网大小、可用区域选择、IP 清单和跨账户可用区调整。网络非常需要考虑,更改后可能会对玩家造成干扰。部署在多个地理位置的游戏服务器将连接到您的游戏后端,这更常见的是托管在单个或多个主区域中,这可能需要额外的配置才能支持私有连接。应随着时间的推移不断评估这些注意事项,这样您就可以随着游戏要求的变化或玩家要求的变化而更改游戏托管策略。

在确定游戏使用多少游戏托管地点时,请考虑以下因素:

  • 玩家体验的质量:通过增加额外的游戏托管地点,你能在多大程度上改善玩家体验? 这样做可以实现多少增量性能提升? 您将如何衡量这种绩效改善?

  • 优先考虑哪些玩家群体:如果你增加额外的游戏托管地点,你能改善多少玩家的体验? 你会优先考虑哪些玩家群体或地理位置?

  • 变化的下游影响:如果你改变游戏托管策略,这将如何影响玩家的配对等待时间? 比赛规模、技能平衡或玩家池中的玩家数量能否适应游戏托管地点策略的变化? 支持更多地点可能会分散玩家群,增加成本和复杂性。

在确定在何处添加或移除游戏托管位置时,应评估所有这些注意事项。例如,你可以选择优先改善游戏体验表现最低的地理位置的玩家的体验,或者公众反馈最直言不讳的玩家。你也可以选择将玩家获利作为优先事项,例如,将注意力集中在为你的游戏带来重要收入来源或者如果你引入性能改进有可能产生增量收入的地理位置的玩家体验上。

除了在中托管基础架构外 AWS 区域,您还可以使用本地区域(是的扩展)来托管游戏服务器和其他延迟敏感应用程序,例如离玩家更近的语音聊天服务器。 AWS 区域你也可以选择在本地区域运行游戏开发基础架构,以改善游戏开发团队的体验。例如,您可以使用本地区域来解决诸如托管自我管理源代码控制服务器的副本等用例,以及使用部署到开发工作室附近一个或多个本地区域的 Amazon EC2 实例、EBS 卷和 Amazon FSx 文件系统向用户提供游戏开发虚拟工作站和内容存储,而无需您在本地托管基础设施。

当区域或局部区域在同一地理区域不可用时,前哨是一个不错的选择。 AWS 应考虑从您的数据中心到的连接,以提高游戏服务器到后端系统的可靠性。 AWS Outposts 而且 Outpost Servers 专为使用相同的服务和API AWS 在您的数据中心运行而构建,无论您在哪里运行游戏,都可以帮助创建一致的部署模型。多个机架可以组合成一个逻辑前哨,并且基础架构可以相互共享 AWS 账户。硬件生命周期由管理 AWS ,交付周期可能短至 3 个月。

如果您正在使用容器构建游戏,并希望灵活地采用混合部署架构,使用可部署在自己的本地基础设施上的开源软件,则可以使用 ECS Anywhere 或 EKS An ywhere 作为本地区域的替代方案。 AWS Outposts 如果您使用亚马逊托管 GameLift;Amazon GameLift Anywhere 可用于在本地硬件上运行您的服务器,这可以加快您的开发过程,使您能够使用本地区域或将自己的金属注册为队列的一部分。

实施步骤

  • 使用像 Terraform 这样的 AWS CloudFormation 基础设施即代码工具进行可重复部署,从而根据玩家需求快速自定义和扩展游戏托管位置。

  • 评估玩家体验改善、玩家群体优先级以及下游影响,例如添加或移除游戏托管地点时的配对时间。

  • 使用 AWS 本地区域、前哨或混合选项(如 ECS Anywhere、EKS Anywhere 或 GameLift Anywhere)来优化延迟敏感型基础架构并支持不同的部署需求。