1. 게임서버 기본 구조: 클라-서버, 룸/세션, 게이트웨이

난이도 하 해설 보기 →
문제

문제 1 — 게임서버 기본 구조: 클라-서버, 룸/세션, 게이트웨이

면접 질문

  1. 게임에서 클라이언트-서버(client-server) 구조와 P2P(peer-to-peer) 구조를 비교하고, 온라인 게임이 일반적으로 권위 서버(authoritative server) 방식을 채택하는 이유를 설명해보세요.

  2. 게임서버에서 "세션(session)"과 "룸(room)"은 각각 무엇을 의미하나요? 둘의 생명주기(언제 생성되고 언제 사라지는지)를 함께 설명해보세요.

  3. "게이트웨이(gateway) 서버" 혹은 "프론트엔드(front-end) 서버"라는 것이 왜 필요한가요? 클라이언트가 게임 로직 서버에 직접 붙지 않고 게이트웨이를 거치는 구조의 장점을 말해보세요.

응용 시나리오

캐주얼 대전 게임을 만들고 있습니다. 흐름은 다음과 같습니다.

  • 플레이어가 클라이언트를 켜고 로그인한다.
  • 매칭 버튼을 누르면 다른 플레이어들과 4인 방(룸)에 묶인다.
  • 방 안에서 게임이 진행되고, 끝나면 방이 해체된다.

이 게임의 서버를 처음 설계한다고 할 때, "로그인/인증을 담당하는 부분", "매칭을 담당하는 부분", "실제 대전 룸을 돌리는 부분"을 하나의 프로세스에 다 넣을지 분리할지 고민하고 있습니다. 각 책임을 어떻게 나누는 것이 좋을지, 그리고 클라이언트가 처음 접속해서 대전 룸에 들어가기까지 "어떤 서버들과 어떤 순서로 통신"하는지를 본인의 설계로 그려서 설명해보세요. 또한 한 플레이어의 "세션"이 이 흐름 전체에서 어떻게 유지되는지도 함께 설명해보세요.

답안 작성
내 답안 · 자동 저장

직접 답을 작성한 뒤, 위 해설 보기에서 모범답안과 대조하세요.