이 강연은 현장에서 요약한 것만 제시하려 한다. SK 다니면서 이 세션에서 제시한 여러 고민을 이미 구현해봤고, No SQL 같은 것 등도 일년 넘게 어떻게 하면 잘 써먹을지 고민 중이라 말이다. 강연자 분과 언젠가 의견을 교환할 기회가 있다면 그것도 좋겠지만 이번 세션에서 다룬 정도는 특별히 언급할 게 없다.
Next-generation MMORPG service architectureView more presentations from Jongwon Kim.We Rule
잘 나가다 네트워크 부하를 감당하지 못해 망했다.
차세대 MMORPG?
고사양 데스크탑 클라이언트
모바일, 다중 플랫폼 (언제 어디서나)
징가
하루 7천만명 방문
한국 NCSoft
존 분할 방식
단일 게임 서버
등등 다 아는 이야기
앞의 시스템의 공통점?
어떻게 확장할래?
새로운 서비스의 요구
거대 단일 월드
통합 경매장
통합 인스턴스 던전
모바일 및 웹과의 연계
페북, 트윗 등과의 연동 (SNS 연계 플레이)
데이터베이스가 문제
쓰기/업데이트가 많다.
I/O 바운드
쓰기가 많아 SSD는 부적합
게임 서버, 웹을 동시에 지원하기에 부담
읽기 전용 복제로 부담 줄임 (웹에선 DB 변경 불가)
NoSQL 이야기
Cassandra
MongoDb
full indexing
Java가 아닌 C++ 로 구현됨 (가비지 콜렉션에서 해방
구조적 데이터 스키마 지원
확장성은 cassandra 가 낫다
데이터베이스 분할 (Sharding)
데이터베이스 열심히 공부한 사람은 친숙한 이야기
아차! 지인들과 세션을 들으며 했던 이야기가 있다. 서버를 우습게 보는 개발 조직이 참 많다. 클라이언트보다 서버 개발을 늦게 시작했으면 당신은 서버를 하찮게 여기는 것이다. 개발을 늦게 시작했음에도 서버를 결코 하찮게 보는 게 아니라면 질문 던져본다.
-
시나리오 기반의 테스트가 가능한가?
-
실제 클라이언트가 없이 테스트 프로그램 만으로 스트레스 테스트가 가능한가?
-
서버의 확장성이 부족해 기획이 축소되는 경우는 없는가? 서버는 눈에 띄지 않기 때문에 미흡한 서버 때문에 기획이 영향을 받더라도 곧 잊혀지는 경향이 있다.
이 외에도 던질 질문은 많다. 하지만 이 정도로도 충분하겠지.