本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
设置 GameLift 队列以放置游戏会话
游戏会话队列是处理新游戏会话请求和查找可用游戏服务器来托管这些请求的主要机制。队列为游戏开发者和玩家提供了显著的好处。其中包括:
-
队列可提供最佳放置位置。 在处理游戏会话放置请求时,队列使用 GameLift 算法根据一组已定义的首选项确定队列位置的优先级。
-
在@@ 价格较低的 Spot 舰队上托管游戏。 使用队列来优化Amazon Spot 队列的使用,这样可以显著降低托管成本。默认情况下,队列总是尝试在 Spot 队列中放置新的游戏会话。
-
在需求旺盛时更快地发布新游戏。 队列使用多个可能的位置进行放置。这意味着,如果首选放置位置不可用,总会有备用容量。
-
使游戏可用性更具弹性。中断可能会发生。在多地点队列中,减速或中断不一定会影响玩家对游戏的访问。
-
更高效地使用额外的队组容量。为了应对玩家需求的意外激增,队列提供了快速访问额外托管容量的途径。队列中的舰队位置相互提供备用容量。地点可根据玩家需求向上或向下扩展。
-
获取有关游戏会话位置和队列表现的指标。 GameLift 发出队列指标,包括有关放置成功和失败的统计信息、队列中的请求数以及请求在队列中停留的平均时间。您可以在 GameLift 控制台或 CloudWatch中查看这些指标。
GameLift 队列的工作原理
GameLift 使用一种算法来管理游戏会话队列如何为游戏会话放置选择托管资源。您可以使用舰队目的地配置队列,在那里 GameLift 可以放置游戏会话。 GameLift 在为新游戏会话寻找最佳位置时,依赖于以下决策流程。
-
筛选队列的目的地以移除以下任何舰队:
-
报告的延迟超过策略最大限制的区域中的舰队。
-
发现由于不可接受的中断率而无法使用的队列。
-
-
根据以下内容对剩余队列目的地进行优先排序:
-
按最低的平均玩家延迟对队列目的地进行重新排序。
-
如果未提供玩家延迟数据,则 GameLift 将使用队列目标的原始列表。
-
-
从优先列表中选择目的地。
-
如果目标列表按区域优先排序,则 GameLift 选择延迟最低区域中价格最低的舰队。
-
如果未对目标列表进行优先排序,则从原始列表中 GameLift 选择第一个可用舰队。
-
-
评估所选队列是否有服务器进程以托管新游戏会话。
-
如果所选舰队没有可用资源,则 GameLift 移动到下一个列出的目的地并重复操作,直到找到可以主持新游戏会话的舰队。