[KGC 2010] 차세대 MMORPG 서비스 아키텍처

  • Post author:
  • Post category:
  • Post comments:0 Comments
  • Post last modified:September 13, 2010

이 강연은 현장에서 요약한 것만 제시하려 한다. SK 다니면서 이 세션에서 제시한 여러 고민을 이미 구현해봤고, No SQL 같은 것 등도 일년 넘게 어떻게 하면 잘 써먹을지 고민 중이라 말이다. 강연자 분과 언젠가 의견을 교환할 기회가 있다면 그것도 좋겠지만 이번 세션에서 다룬 정도는 특별히 언급할 게 없다.

We Rule

  • 잘 나가다 네트워크 부하를 감당하지 못해 망했다.

차세대 MMORPG?

  • 고사양 데스크탑 클라이언트

  • 모바일, 다중 플랫폼 (언제 어디서나)

징가
  • 하루 7천만명 방문

한국 NCSoft
  • 존 분할 방식

  • 단일 게임 서버

등등 다 아는 이야기

앞의 시스템의 공통점?

  • 어떻게 확장할래?

새로운 서비스의 요구

  • 거대 단일 월드

  • 통합 경매장

  • 통합 인스턴스 던전

  • 모바일 및 웹과의 연계

  • 페북, 트윗 등과의 연동 (SNS 연계 플레이)

데이터베이스가 문제

  • 쓰기/업데이트가 많다.

  • I/O 바운드

  • 쓰기가 많아 SSD는 부적합

  • 게임 서버, 웹을 동시에 지원하기에 부담

  • 읽기 전용 복제로 부담 줄임 (웹에선 DB 변경 불가)

NoSQL 이야기

  • Cassandra

  • MongoDb

    • full indexing

    • Java가 아닌 C++ 로 구현됨 (가비지 콜렉션에서 해방

    • 구조적 데이터 스키마 지원

  • 확장성은 cassandra 가 낫다

데이터베이스 분할 (Sharding)

데이터베이스 열심히 공부한 사람은 친숙한 이야기

아차! 지인들과 세션을 들으며 했던 이야기가 있다. 서버를 우습게 보는 개발 조직이 참 많다. 클라이언트보다 서버 개발을 늦게 시작했으면 당신은 서버를 하찮게 여기는 것이다. 개발을 늦게 시작했음에도 서버를 결코 하찮게 보는 게 아니라면 질문 던져본다.

  • 시나리오 기반의 테스트가 가능한가?

  • 실제 클라이언트가 없이 테스트 프로그램 만으로 스트레스 테스트가 가능한가?

  • 서버의 확장성이 부족해 기획이 축소되는 경우는 없는가? 서버는 눈에 띄지 않기 때문에 미흡한 서버 때문에 기획이 영향을 받더라도 곧 잊혀지는 경향이 있다.

이 외에도 던질 질문은 많다. 하지만 이 정도로도 충분하겠지.

Author Details
Kubernetes, DevSecOps, AWS, 클라우드 보안, 클라우드 비용관리, SaaS 의 활용과 내재화 등 소프트웨어 개발 전반에 도움이 필요하다면 도움을 요청하세요. 지인이라면 가볍게 도와드리겠습니다. 전문적인 도움이 필요하다면 저의 현업에 방해가 되지 않는 선에서 협의가능합니다.
0 0 votes
Article Rating
Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

0 Comments
Inline Feedbacks
View all comments