在 Amazon GameLift 中使用竞价型实例 - Amazon GameLift
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

在 Amazon GameLift 中使用竞价型实例

设置 Amazon GameLift 托管 EC2 实例集时,您可以使用竞价型实例、按需型实例或组合使用。在按需型实例和竞价型实例中了解有关如何使用竞价型实例的更多信息。要使用竞价型实例集,您的游戏集成需要进行此页面上列出的调整。

您是否在使用 FlexMatch 进行对战? 您可以将竞价型实例集添加到现有的游戏会话实例集中,以便进行对战放置。

  1. 为竞价型实例设计游戏会话队列。

    使用队列管理游戏会话放置是一个最佳实操,它在使用竞价型实例时是必需的。要设计队列,请考虑以下事项:

    • 位置 – 要获得最佳的玩家体验,请选择地理位置靠近玩家的位置。

    • 实例类型 – 考虑您的游戏服务器硬件要求以及您选择的位置的实例可用性。

    要尝试使用可优化竞价型实例可用性和弹性的队列,请参阅教程:为竞价型实例设置游戏会话队列

  2. 为针对竞价型实例进行了优化的队列创建实例集。

    根据您的队列设计,创建实例集以将游戏服务器部署到所需的位置和实例类型。请参阅创建 Amazon GameLift 托管实例集以帮助您创建和配置新实例集。

  3. 创建游戏会话队列。

    添加实例集目的地,配置游戏会话放置流程,并定义放置优先级。请参阅创建游戏会话队列以帮助您创建和配置新队列。

  4. 更新您的游戏客户端服务以使用队列。

    当您的游戏客户端使用队列请求资源时,队列会避开中断可能性很高的资源,并选择与您定义的优先级相匹配的位置。要获得在游戏客户端中实施游戏会话放置的帮助,请参阅创建游戏会话

  5. 更新游戏服务器以处理竞价型实例中断。

    当要容量退回时,Amazon可以中断竞价型实例并发出持续 2 分钟的通知。设置游戏服务器以处理中断,以最大限度地减少对玩家的影响。

    在 Amazon 回收竞价型实例之前,它会发送终止通知。Amazon GameLift 通过调用 Amazon GameLift 服务器软件开发工具包回调函数 onProcessTerminate(),将通知传递给所有受影响的服务器进程。实现此回调以结束游戏会话或将游戏会话和玩家移至新实例。请参阅回应服务器进程关闭通知以帮助您实施 onProcessTerminate()

    注意

    Amazon 会尽一切努力在竞价型实例回收和实例之前提供通知,但有可能在警告到来之前 Amazon 收回竞价型实例。将游戏服务器准备就绪,以应做好应对意外中断的准备。

  6. 评估 竞价型实例集和队列的性能。

    在 Amazon GameLift 控制台上或使用 Amazon CloudWatch 查看 Amazon GameLift 指标,以查看性能。有关 Amazon GameLift 指标的更多信息,请参阅使用 Amazon CloudWatch 监控 Amazon GameLift。关键指标包括:

    • 中断率 – 使用 InstanceInterruptionsGameSessionInterruptions 指标跟踪实例和游戏会话的竞价型实例相关中断的数量和频率。通过 Amazon 回收的游戏会话的状态为 TERMINATED,状态原因为 INTERRUPTED

    • 队列有效性 – 跟踪放置成功率、平均等待时间和队列深度,以确认竞价型实例集不会影响队列性能。

    • 实例集使用情况 – 监控有关实例、游戏会话和玩家会话的数据。按需型实例集的使用情况可以表明队列为了避免中断而避免放置到竞价型实例集中。