이 과정을 자세히 살펴봅시다.
➊ 클라이언트 1은 “다른 플레이어를 찾아 달라.”라고 매칭을 요청합니다.
➋ 클라이언트 2~10도 같은 요청을 합니다.
➌ 로비 서버는 매칭되는 클라이언트 1~10을 찾아냅니다. 그리고 가장 처리량이 적은 배틀 서버를 찾아냅니다. 그 배틀 서버에 “방을 만들어라.”라고 요청합니다.
➍ 배틀 서버는 ➌ 요청에 대한 응답을 합니다.
➎ 방이 성공적으로 만들어졌으므로 클라이언트 1에 “너를 위한 방이 만들어졌다. 그 방으로 들어가라.”라고 요청합니다.
➏ 클라이언트 1은 요청에 따라 배틀 서버에 접속하고 인증을 합니다. 앞서 언급했던 크리덴셜 방법으로 인증을 합시다.
➐ 클라이언트 2~10도 ➎처럼 합시다.
➑ 클라이언트 2~10도 ➏처럼 합시다.
이렇게 함으로써 동시접속자가 계속해서 증가하는 상황에 어느 정도 대응할 수 있습니다. 하지만 배틀 서버 개수만 늘리는 것으로는 완전하지 않습니다. 매치메이킹만 담당하는 로비 서버는 한 대뿐이므로 동시접속자가 계속 증가하면 결국 로비 서버가 과부하에 걸릴 것입니다.
▲ 그림 10-26 한 대뿐인 로비 서버는 결국 과부하에 걸림