Managing game session placement with Amazon GameLift queues
A game session queue is the primary mechanism for handling game session placement across multiple hosting fleets. A queue is responsible for processing game session requests, searching for available game servers to host them, and prompting a game server to start a new game session. With queues you can fulfill game session requests across multiple kinds of fleets and geographic locations. If your hosting solution uses more than one fleet, you probably need a queue.
Queues offer significant benefits for both game developers and players. These include:
-
Queues deliver the best possible placement. When processing game session placement requests, a queue uses Amazon GameLift algorithms to prioritize queue locations based on a set of defined preferences, including cost, location, and player latency.
-
Take advantage of lower-priced Spot fleets. Queues are required to use AWS Spot fleets, which offer significantly lower hosting costs. By default, queues always try to place new game sessions in Spot fleets.
-
Place new games faster during high demand. Queues can search multiple possible locations for placements. This means that you can always maintain fallback capacity if the preferred placement location is unavailable.
-
Make game availability more resilient. Outages can happen. With a multi-location queue, a slowdown or outage doesn't have to affect player access to your game.
-
Use extra fleet capacity more efficiently. To handle unexpected surges in player demand, queues provide quick access to extra hosting capacity. The fleet locations in a queue provide back-up capacity for each other. Locations scale up or down based on player demand.
-
Get metrics on game session placements and queue performance. Amazon GameLift emits queue metrics, including statistics on placement successes and failures, the number of requests in the queue, and average time that requests spend in the queue. You can view these metrics in the Amazon GameLift console or in CloudWatch.
To get started with queues, see Design a game session queue.