서버 개발 노하우 나누는 4회 아이펀팩토리 데브데이 개최
게임 서버 개발과 관련된 개발 실무와 노하우를 함께 나눠 개발자들과의 상생을 목적으로하는 제 4회 2018 아이펀팩토리 데브데이가 28일 판교에 자리한 엔씨소프트 R&D센터 2층 종합게임시연실에서 열렸다.
서버 개발자 및 게임 개발자를 대상으로 진행된 이번 행사의 주제는 서버위더스(Sever, Withus)로. 현장에는 수 백명의 개발자가 몰리며, 행사에 대한 뜨거운 열기를 보였다.
아이펀팩토리 문대경 CEO는 “이런 발표 중심의 행사에서 회사의 소개 등에 시간을 할애 하는 경우가 많지만, 아이펀 팩토리 데브데이는 실제 실무 경험을 나누는 행사로 준비했다”고 밝히며 노하우 공유와 상생을 다시 한번 강조했다.
현장에서는 아이펀팩토리의 관계자들이 5개 강연을 마련했다. 먼저 HTML5/Websocket으로 Pong 게임 만들기를 주제로 민영기 TD가 발표자로 나선다. 웹게임과 관련된 내용으로, Websocket에 대해 알아보고 Html5/Websocket을 이용해 브라우저 상에서 동작하는 실시간 대전 게임 ‘Pong'을 구현해 보며 마주치는 문제점들과 해결책을 알아본다. 이외에도 이외에 bandwidth등 Websocket 을 이용하여 실시간 게임 개발 시 고려할 점에 대하여 설명한다.
남승현 시니어 프로그래머는 분산 환경을 위한 ORM 개발 경험을 공유한다. ORM이 분산 환경에서 작동하기 위한 조건들을 알아보고, ORM을 위한 캐시, 분산 락 구현에 대해 소개하며, 앞서 소개한 ORM 구현의 장점과 한계에 대해 발표한다.
문대경 대표는 Scalable한 게임 서버 만들기를 주제로 게임 서버의 고확장성을 확보하기 위한 방법들에 대해서 알아보는 시간을 갖는다. 이 방법들에는 DB 중심적이지 않은 연산, 낙관적 동시성 제어(optimistic concurrency control), 및 데이터 캐싱 등이 포함되며, 이들 기법들에 대한 개괄적인 설명과 함께 서버 장애 상황에서 각각의 대응 전략을 설명한다.
김진욱 CTO는 리눅스 게임 서버 성능 분석을 주제로 발표한다. 그는 지난 데브데이에서 서버 성능을 고수준에서 분석할 수 있는 구현 방법을 제한 바 있다. 하지만, 항상 직접 분석을 위한 코드를 서버에 추가할 수 있는 것은 아닌 것을 고려해 이번 강연에서는 실행 중인 서버를 외부에서 관찰하여 최대한 성능을 분석하고 디버깅하는 방법에 대해 발표한다.
아이펀 엔진과 데디케이티드 서버로 멀티플레이 게임 서버를 구현하는 강연도 준비됐다. 이재원 TD는 클라우드 서비스 상에서 동적으로 관리되는 데디케이티드 서버를 이용해 1인 개발자나 소규모 팀에서 사용자 수에 유연한 서버를 구현하는 방법에 대해서 공유한다.
한편, 금일 데브데이 행사를 준비한 아이펀팩토리는 게임 서버 엔진 전문 개발사다. 게임 개발 및 운영의 허들을 낮춰주는 기술을 제공하고 있으며, 아이펀 엔진과 아이펀 디플로이가 대표 제품이다.
아이펀 엔진은 손쉽게 고성능의 서버를 만들 수 있는 엔진으로 대규모 게임 서버 구현 기술과 분산처리 기술에 강점을 갖췄다. 기존의 게임 서버 엔진들이 클라이언트-서버간 네트워크 처리 등 일부 특정 영역에만 치중한 것에 반해, 아이펀 엔진은 효율적인 클라이언트-서버 네트워킹, 자동화된 DB 처리, 복잡한 구현이 필요 없는 서버의 scale-out구조, 게임 서버 관리를 위한 dashboard 등 게임 서버를 개발하는 전 과정에 있어서 필요한 기능들을 모두 아우른다.
아이펀 디플로이는 게임에 손쉽게 운영툴 기능을 연동할 수 있도록 돕는다. 아이펀 디플로이는 RESTful API를 통해 게임 서버와 통신하며 게임 서비스 운영에 필수적인 유저 관리, 유저 행동 로그 분석, 게임 내 이벤트 일정 관리, 서비스 운영자 권한 관리가 가능하다. 또한 글로벌 서비스에 적합하도록 다국어를 지원한다.