'더 안정적이고 빠른 게임 서버 개발 방법' 주제로 강연 진행

배현직 넷텐션 CTO.

"서버 문제를 줄이려면 단순하게 설계할수록 좋다" 

18일 지스타 국제 게임 컨퍼런스 'G-CON X IGC'에서 넷텐션 배현직 CTO(최고기술책임자)가 '더 안정적이고 빠른 게임 서버 개발 방법'을 주제로 강연을 진행했다.

배현직 CTO는 게임 장르에 따른 기본적인 서버 구조부터 설명했다. 배현직 CTO의 설명에 따르면 일반적으로 모바일 RPG의 경우 클라이언트, 로드 밸런서를 통해 접속, 다수의 게임 서버 클러스터 중 하나에 접속, 인메모리 캐시 클러스트나 데이터베이스 클러스트에 저장하는 구조를 가진다.

멀티플레이는 아웃 게임 서버와 인게임 서버로 구분하는데, 여기서 인게임 서버는 실시간 전투를 지원하고 아웃 게임 서버는 전투 이외의 모든 정보를 처리한다. 아웃 게임 서버는 매치메이킹 등에 관여하고 응답 지연을 최소화하기 위해 여러 지역에 서버를 나눠서 관리한다.

나아가 MMORPG(대규모다중접속역할수행게임) 같은 경우는 다수의 존 서버로 구분하며, 각 존 서버는 여러 리전에 흩어져 있다. 각 존 서버의 요청 응답 처리가 0.1초라도 늦어질 경우 유저들의 체감은 더욱 나빠지게 되는데, 여러 서비스가 결합되면 서버는 더욱 복잡해지고 문제가 발생했을 때 수정도 어렵다는 설명이다.

특히 클라이언트는 문제가 생겨도 다른 플레이어에게 영향을 주지 않는 반면 서버는 다수의 플레이어에게 영향을 준다. 배현직 CTO는 "클라이언트에서 서버 문제가 발생하면 다른 클라이언트에 전염되고 이는 개발 일정에 영향을 주는 악순환을 만든다"고 말했다.

이같은 서버 문제의 해결하기 위해서는 서버 구조를 최대한 단순하게 설계하고 서버 개발자들과의 업무 효율을 높여야한다는 점을 강조했다. 콘텐츠의 내용과 조건을 서버 개발자들과 정확하게 공유하고 복잡하게 서버 구조를 설계하면서 확장하지 않게 막는 한편 역량을 체크하는 것도 서버 문제를 최소화하는 방법 중 하나라고 조언했다.

이와 함께 넷텐션에서 개발한 '프라우드넷2'도 공개했다. 배현직 CTO는 "넷텐션에서 새롭게 개발한 '프라우드넷2'는 게임 개발에 있어 부딪히는 문제를 찾아 해결해주는 툴이다"면서 "클래시 리포트를 통해 서버 문제를 빨리 찾을 수 있고, 단시간 다수 서버를 한 번에 패치할 수 있다"고 말했다. 이어 "한 대의 서버에서 각각  처리하는 방식이 아닌 클러스터 전반을 거쳐 모니터링, 컨트롤하는 게 가능하다"고 덧붙였다. 프라우드넷2는 내년 초에 정식 서비스를 진행하며, 현재 베타 버전 신청이 가능하다.

이 기사를 공유합니다
저작권자 © 플레이포럼 무단전재 및 재배포 금지