Roblox - System Design
Anonymous User
1420
Oct 21, 2025
Oct 21, 2025

Roblox hosts millions of multiplayer game sessions daily. It is planning to release a Matchmaking Service for game developers such that users can join a waiting queue, be grouped together by skill level and join a new gameserver at the same time.

A popular game may have upto 500k concurrent players, hundreds of players joining per second.

A user may have a skill level e.g userid : skill (0-100)

Design a service to help organize these users into groups of 16 before allocating them a new empty gameserver.

A user may only queue for 1 game at a time

You may assume the following ID types exist:
long GameID
long UserID
long ServerID

And the following table:
Table UserSkill -
long GameID
long UserID
int Skill

Comments (2)