本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
竞价平衡过程
Amazon GameLift FleetIQ 会定期平衡具有竞价型实例的自动扩缩组中的实例。对于使用 ON_DEMAND_ONLY 平衡策略或没有任何活动实例的游戏服务器组,此过程不处于活动状态。
竞价平衡有两个关键目标:
-
仅使用对游戏托管具有高可行性的竞价型实例类型持续刷新组。
-
使用多种可行的实例类型(在可能时),以减少游戏服务器意外中断的影响
Amazon GameLift FleetIQ 通过评估组的实例类型并删除更可能导致游戏服务器中断的实例来平衡。为了避免在平衡过程中终止具有活动游戏的实例,最好是为生产中的游戏服务器组启用游戏服务器保护。
以下示例说明自动扩缩组中的实例如何受到竞价平衡的影响。

-
第 1 步。通过游戏服务器组,关联的自动扩缩组设置为在启用游戏服务器保护的情况下启动类型为 m4.large、c4.large 和 c5.large 的实例。自动扩缩组已启动一个平衡集合,其中包含每种类型的两个竞价型实例。四个实例至少有一个处于 UTILIZED(被利用)状态的游戏服务器(显示为虚线边框),而两个实例当前不支持玩游戏。
-
第 2 步。Amazon GameLift FleetIQ 评估所有三种实例类型的当前游戏托管可行性。评估确定 c4.large 实例类型存在不可接受的游戏服务器中断的可能性。Amazon GameLift FleetIQ 会立即更新自动扩缩组配置,暂时将 c4.large 从实例类型列表中删除,从而阻止启动其他 c4.large 实例。
-
第 3 步。Amazon GameLift FleetIQ 确定类型 c4.large 的现有实例,并采取措施将它们从组中删除。作为第一步,在 c4.large 实例上运行的所有游戏服务器都标记为耗尽。只有在没有其他游戏服务器可用的情况下,才能作为最后手段认领耗尽实例上的游戏服务器。此外,将触发具有耗尽实例的自动扩缩组以启动新实例来替换它们。
-
第 4 步。随着新的可行实例上线,自动扩缩组将终止耗尽的实例。这种替换可确保该组的所需容量得到保持。要终止的第一个实例是没有已利用的游戏服务器且关闭了游戏服务器保护的 c4.large 实例。它被替换为一个新的 c5.large 实例。
-
第 5 步。对于具有游戏服务器保护的耗尽实例而言,在其游戏服务器支持玩游戏时,这些实例将继续运行。游戏结束后,一旦新的 m4.large 实例启动以取代剩余的 c5.large 实例的位置,后者就会终止。
由于此过程,自动扩缩组将保持其所需容量,同时此组将从使用三种实例类型平衡为使用两种。Amazon GameLift FleetIQ 继续评估最初的实例类型列表,以确定游戏托管的可行性。当 c4.large 再次被视为可行的实例类型时,将更新自动扩缩组以包含全部三种实例类型。该组随着时间推移自然地平衡。