Amazon GameLift Servers FleetIQ 逻辑 - Amazon GameLift Servers
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

Amazon GameLift Servers FleetIQ 逻辑

下图说明了的角色 Amazon GameLift Servers FleetIQ 当它与亚马逊合作托 EC2管游戏时。其主要目标是找到最好 的游戏服务器来托管游戏会话,并为玩家提供最佳的游戏体验。Amazon GameLift Servers FleetIQ 将最佳资源定义为那些以最低成本提供最高游戏托管可行性的资源。Amazon GameLift Servers FleetIQ 通过两种关键方式实现这一目标:第一,在 Auto Scaling 组中仅允许可行的实例类型,其次是在该组的可用资源中有效地放置新的游戏会话。

Amazon GameLift Servers FleetIQ 与 Amazon 合作 EC2

使用最佳实例类型填充自动扩缩组

自动扩缩组的任务是启动新实例并停用旧实例,同时维护托管资源集合并扩展该集合以满足玩家需求。为此,自动扩缩组依赖于您所需的实例类型列表。的工作 Amazon GameLift Servers FleetIQ 就是不断检查这些所需实例类型的可行性,并更新 Auto Scaling 组的列表。此过程称为实例平衡。它可确保自动扩缩组中的实例不断刷新,以便始终仅使用当前可行的实例类型。

Amazon GameLift Servers FleetIQ 影响 Auto Scaling 组如何通过以下方式选择最佳实例类型:

  • 它决定竞价型和/或按需型实例的使用情况。网络 ACL 和安全组都允许 (因此可到达您的实例) 的发起 ping 的 Amazon GameLift Servers FleetIQ 游戏服务器组配置了平衡策略,这会影响 Auto Scaling 组使用竞价型和/或按需实例的方式。由于可用性波动和潜在的中断,竞价型实例的成本较低,这些限制包括 Amazon GameLift Servers FleetIQ 最小化游戏服务器托管。按需型实例成本更高昂,但在您需要时可提供更可靠的可用性。

  • 它限制新实例只能在可行的实例类型上启动。A Amazon GameLift Servers FleetIQ 游戏服务器组维护着所需实例类型的主列表。实例平衡过程使用预测算法,持续评估列表中每种所需的实例类型,以确定游戏托管的可行性,该算法会查看该实例类型的最新可用性和中断率。作为这次评估的结果,Amazon GameLift Servers FleetIQ 不断更新 Auto Scaling 组的所需实例类型列表,使其仅包括当前可行的实例类型。

  • 它会标记不可行的实例类型的现有实例。Amazon GameLift Servers FleetIQ 标识 Auto Scaling 组中当前不可行的实例类型的现有实例。这些实例标记为耗尽,这意味着将终止这些实例并使用新实例替换。对于已启用游戏服务器保护的实例,终止将推迟到任何活动的游戏会话正常结束。

随着自动扩缩组启动和停用实例,它将持续维护针对游戏托管进行优化的集合,即使低成本竞价型实例类型的可用性不断波动也是如此。平衡活动仅在具有活动实例的游戏服务器组上进行。在竞价平衡过程中了解有关此过程如何工作的详细信息。

有效地放置游戏会话

Amazon GameLift Servers FleetIQ 跟踪游戏服务器组中所有活跃的游戏服务器,并使用此信息来确定新游戏会话和玩家的最佳位置。

要启用 Amazon GameLift Servers FleetIQ 要跟踪游戏服务器,您的游戏服务器软件必须报告其状态。您的自定义 AMI 控制在每个实例上启动和停止新游戏服务器进程的方式。当新的游戏服务器启动时,它会注册到 Amazon GameLift Servers FleetIQ,表示它已准备好主持游戏会话。在注册后,游戏服务器定期报告其运行状况以及当前是否托管游戏会话。当游戏服务器关闭时,它会注销注册到 Amazon GameLift Servers FleetIQ.

要开始新的游戏会话,您的游戏客户端(或媒人或其他客户端服务)会将游戏服务器请求发送到 Amazon GameLift Servers FleetIQ. Amazon GameLift Servers FleetIQ 找到可用的游戏服务器,为新游戏会话申领该服务器,然后使用游戏服务器 ID 和连接信息进行响应。然后,游戏会提示游戏服务器更新其状态,并为进入的玩家启动新的游戏会话。

在选择游戏服务器来托管新的游戏会话时,Amazon GameLift Servers FleetIQ 使用以下决策过程来优化可行的低成本 Spot 实例的放置:

  1. 在可能的情况下,Amazon GameLift Servers FleetIQ 在已经托管其他游戏会话的实例上放置新的游戏会话。通过打包(但不过载)某些实例并保持其他实例为空闲状态,自动扩缩组能够在不需要空闲实例时快速缩减空闲实例,从而降低托管成本。

  2. Amazon GameLift Servers FleetIQ 忽略被标记为尽的实例,即不适用于游戏托管的实例。这些实例仅为持现有的游戏会话而保持运行。除非没有其他游戏服务器可用,否则它们不能用于新的游戏会话。

  3. Amazon GameLift Servers FleetIQ 标识在可行实例上运行的所有可用游戏服务器。

您可以为游戏服务器组启用游戏会话保护,以防止自动扩缩组终止具有正在运行游戏会话的实例。