1. 게임서버 기본 구조: 클라-서버, 룸/세션, 게이트웨이
난이도 하 해설 보기 →
문제
문제 1 — 게임서버 기본 구조: 클라-서버, 룸/세션, 게이트웨이
면접 질문
-
게임에서 클라이언트-서버(client-server) 구조와 P2P(peer-to-peer) 구조를 비교하고, 온라인 게임이 일반적으로 권위 서버(authoritative server) 방식을 채택하는 이유를 설명해보세요.
-
게임서버에서 "세션(session)"과 "룸(room)"은 각각 무엇을 의미하나요? 둘의 생명주기(언제 생성되고 언제 사라지는지)를 함께 설명해보세요.
-
"게이트웨이(gateway) 서버" 혹은 "프론트엔드(front-end) 서버"라는 것이 왜 필요한가요? 클라이언트가 게임 로직 서버에 직접 붙지 않고 게이트웨이를 거치는 구조의 장점을 말해보세요.
응용 시나리오
캐주얼 대전 게임을 만들고 있습니다. 흐름은 다음과 같습니다.
- 플레이어가 클라이언트를 켜고 로그인한다.
- 매칭 버튼을 누르면 다른 플레이어들과 4인 방(룸)에 묶인다.
- 방 안에서 게임이 진행되고, 끝나면 방이 해체된다.
이 게임의 서버를 처음 설계한다고 할 때, "로그인/인증을 담당하는 부분", "매칭을 담당하는 부분", "실제 대전 룸을 돌리는 부분"을 하나의 프로세스에 다 넣을지 분리할지 고민하고 있습니다. 각 책임을 어떻게 나누는 것이 좋을지, 그리고 클라이언트가 처음 접속해서 대전 룸에 들어가기까지 "어떤 서버들과 어떤 순서로 통신"하는지를 본인의 설계로 그려서 설명해보세요. 또한 한 플레이어의 "세션"이 이 흐름 전체에서 어떻게 유지되는지도 함께 설명해보세요.
답안 작성
내 답안 · 자동 저장
직접 답을 작성한 뒤, 위 해설 보기에서 모범답안과 대조하세요.