Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
차세대 MMORPG 서비스 아키텍처<br />NCsoft, Project LF<br />Technical Director김종원<br />
누구세요?<br />현재<br />NCSoft, 신규 MMORPG의 Technical Director<br />과거<br />한메한글for Windows 개발 참여<br />아래아한글3.0b, 96 등 윈도우 용 어플 ...
요즘 가장 인기 있었던 게임?<br />?<br />NCDC 2010 Next generation MMORPG service<br />
이 게임 해 본 사람 손들어보세요!!<br />NCDC 2010 Next generation MMORPG service<br />
NCDC 2010 Next generation MMORPG service<br />
NCDC 2010 Next generation MMORPG service<br />
SNS 게임 : We rule<br />귀농 게임 ‘두덕리 온라인’iPhone 버전<br />수익 모델은 Mojo와 게임 내 광고<br />NCDC 2010 Next generation MMORPG service<br />
하지만…<br />뛰어난 그래픽 디자인 및 클라이언트의 높은 완성도<br />Age of empire 개발자 출신이라는…<br />네트웍 트래픽이 문제<br />점점 자신의 다운 받는 데이터가 계속 증가<br />친구 ...
NCDC 2010 Next generation MMORPG service<br />망함!!<br />
Postmortem<br />25레벨이 끝, 그 이후는?<br />만렙 이후가 필요<br />용 키워서 다른 왕국으로 쳐들어가면 좋겠다…<br />사용자가 많아지는 것이 두려운 게임<br />사용자가 늘어날 수록 급격히...
잠깐, 제목과 다른 내용인데?<br />NCDC 2010 Next generation MMORPG service<br />
너는 우리의 미래<br />We rule은 미래에 등장할 lightweight MMORPG의 프로토타입이 아니었을까?<br />근거<br />Free to play<br />가벼운 클라이언트 (모바일/ 플래시)<br /...
AAA급 MMORPG라면…<br />최고 성능의 그래픽<br />멋진 월드 설정과 배경<br />쿨하고 섹쉬한 캐릭터<br />끝없는 퀘스트<br />최고의 렌더링 엔진<br />실감나는 물리 엔진<br />캐릭터 커스...
5년 뒤의 NC의 MMORPG는?<br />AAA MMORPG<br />100GB의 클라이언트 패키지<br />2560 x 1440 화면 해상도<br />Unreal 4 엔진 장착<br />VS<br />Lightwei...
두 영역을<br />모두 공략?<br />
으아~~<br />NCDC 2010 Next generation MMORPG service<br />
他山之石<br />
요즘 가장 잘 나가는 놈!<br />NCDC 2010 Next generation MMORPG service<br />
NCDC 2010 Next generation MMORPG service<br />
Big bang game company<br />Zynga의 계속 늘어나는 사용자(3월 시점)<br />6천5백만 사용자/일, 2억2천5백만 명/월<br />Farmville은 5개월 동안 2천5백만 명 증가/DAU<b...
Zynga’s scaling<br />Scale up – 컴퓨터의 성능을 높이는 것<br />Scale out – 서비스할 컴퓨터를 더 늘리는 것<br />징가의 게임은 DB 하나에서 시작<br />읽기 전용의 DB 복...
MMO서버의 sharding및 로드 밸런싱
용량 계획 수립</li></li></ul><li>Zynga 구조도<br />PHP logic<br />HTTP<br />memcache server<br />Web server<br />MMO server<br />DB...
이제까지 NC의 MMORPG는<br />한 월드에 동시 접속 인원을 제한<br />더 많은 사용자를 위해서 복제된 월드를 추가<br />월드간 커뮤니케이션이나 공통 서비스 부족<br />DB의 복제를 통한 단방향 Web...
Case study<br />MMORPG<br />NCSoft’s MMORPG<br />Bluehole’sTera<br />XL games’sArcheAge<br />통합 메신저<br />AION channel chat...
NC MMORPG의 구성<br />Login server<br />TCP<br />1<br />World 1<br />2<br />World …<br />World N<br />Game server<br />cacheD...
Bluehole의 MMORPG<br />Login server<br />Instance servers<br />1<br />Instance servers<br />Planet<br />2<br />Arbiter serv...
XL games의 MMORPG<br />Auth server<br />1<br />World <br />2<br />World server<br />Game DB<br />AI server<br />Physics ser...
Zone 분할 월드의 서버 구조<br />Logine server<br />Lobby server<br />DB cache<br />Game server<br />Game server<br />Game server<br...
채널 채팅(통합 메신저)<br />100만명 동시접속 목표 설계<br />A 게임 오픈 시 서버 2 대로 20만 이상 채널 채팅<br />Sharding User<br />Configurationserver<br />E...
앞의 시스템들의 공통점은?<br />서비스 규모의 확장에 대해 고민하고 있었다<br />
새로운 서비스의 요구<br />단일 월드<br />단일 경매장<br />통합 인스턴스던전<br />모바일 및 Web과의 연계<br />Facebook, twitter와 연동<br />NCDC 2010 Next gener...
난 너의 모든 것을 알고 싶다!<br />NCDC 2010 Next generation MMORPG service<br />
현재 서비스 구조에서 가능한가?<br />지금과 같은 MMORPG에서는 어렵다<br />무엇을 준비해야 하는가?<br />게임 기획 단계부터 관련 컨텐츠 구분<br />다양한 요구에 대응할 수 있는 서버 구성<br />...
이런 구조면 어떨까?<br />Login server<br />Web/SNS 서비스<br />Other services<br />Game servers<br />Game data<br />Log/async data<br...
설계 단계 부터 준비<br />컨텐츠 속성에 따른 DB 데이터 구분<br />동기/비동기 데이터<br />웹 연동을 지원하기 위한 구조 설계<br />통합 로깅 시스템<br />게임 플레이 정보, 게임 내 SNS 지원을...
확장을 위한 준비<br />게임 서버용 DB에 RDBMS 사용<br />속도 향상을 위해 memcache서버 사용<br />안정성을 위해 DB 이중화<br />DB의 수평적 분할(sharding)을 이용하여 DB 확장 ...
왜 NoSQL 이 등장하였는가<br />Massive data volume<br />수 만 대의 DB를 사용하는 상황 발생<br />Extreme query workload<br />위 상황에서 RDBMS에서 사용은 무...
Cassandra<br />Google의 Big table과 Amazon의 Dynamo 기반<br />서버간 P2P 연결<br />중첩된 column (super columns) 저장 방식<br />읽기보다는 쓰기가 빈...
Case study - Digg<br />NCDC 2010 Next generation MMORPG service<br />
NoSQL 적용 사례 (digg 서비스)<br />Digg가 처했던 어려움 <br />고성능의쓰기 위주에 적합한 DB 구축 필요<br />특성 상 DB에서 데이터 일관성을 포기할 수 있는 상황 <br />Cassandr...
DB의 확장(Sharding)<br />한 대의 DB 머신 성능으로 처리가 불가능할 때<br />수직적 분할<br />테이블마다 다른 DB. 일정 수준 이상의 사용자 증가에는 도움이 안됨<br />수평적 분할(shard...
확장의 함정<br />서비스 상황<br />게임 서버 군 < 웹/업데이트 서버<br />서버 구매 비용 < 서버 운영 비용(IDC)<br />서비스에 사용되는 서버 수 증가<br />시스템의 고장율 증가(MTBF가 짧아...
Wrap up<br />확장을 고려한 시스템<br />DB 확장 정책 수립<br />NoSQL 사용 고려<br />이중화, 데이터 복제<br />서버의 고성능화 고려<br />NCDC 2010 Next generatio...
Nächste SlideShare
Wird geladen in …5
×

Next-generation MMORPG service architecture

NCsoft의 NCDC 2010과 Nexon의 NDC 10에서 발표한 '차세대 MMORPG 서비스 아키텍처'의 발표 파일입니다.

  • Loggen Sie sich ein, um Kommentare anzuzeigen.

Next-generation MMORPG service architecture

  1. 1. 차세대 MMORPG 서비스 아키텍처<br />NCsoft, Project LF<br />Technical Director김종원<br />
  2. 2. 누구세요?<br />현재<br />NCSoft, 신규 MMORPG의 Technical Director<br />과거<br />한메한글for Windows 개발 참여<br />아래아한글3.0b, 96 등 윈도우 용 어플 개발<br />팔만대장경 전산 입력 및 검색 시스템<br />임베디드JVM,리눅스PDA, 스마트폰 등 개발<br />Ncsoft에 모바일 기기 만든다고 합류<br />마이크로소프트웨어,ZDNet‘망치와모루’컬럼<br />NCDC 2010 Next generation MMORPG service<br />
  3. 3. 요즘 가장 인기 있었던 게임?<br />?<br />NCDC 2010 Next generation MMORPG service<br />
  4. 4. 이 게임 해 본 사람 손들어보세요!!<br />NCDC 2010 Next generation MMORPG service<br />
  5. 5. NCDC 2010 Next generation MMORPG service<br />
  6. 6. NCDC 2010 Next generation MMORPG service<br />
  7. 7. SNS 게임 : We rule<br />귀농 게임 ‘두덕리 온라인’iPhone 버전<br />수익 모델은 Mojo와 게임 내 광고<br />NCDC 2010 Next generation MMORPG service<br />
  8. 8. 하지만…<br />뛰어난 그래픽 디자인 및 클라이언트의 높은 완성도<br />Age of empire 개발자 출신이라는…<br />네트웍 트래픽이 문제<br />점점 자신의 다운 받는 데이터가 계속 증가<br />친구 왕국 방문, 주문 알바<br />로그인 실패, 잦은 서버 다운<br />주문 불가 상황 발생<br />대규모 사용자 이탈<br />NCDC 2010 Next generation MMORPG service<br />
  9. 9. NCDC 2010 Next generation MMORPG service<br />망함!!<br />
  10. 10. Postmortem<br />25레벨이 끝, 그 이후는?<br />만렙 이후가 필요<br />용 키워서 다른 왕국으로 쳐들어가면 좋겠다…<br />사용자가 많아지는 것이 두려운 게임<br />사용자가 늘어날 수록 급격히 증가하는 트래픽<br />Free to play 게임의 한계<br />단일 월드의 시도는 좋았지만<br />안정적으로 운영할 수 있는 서비스 구조 필요<br />NCDC 2010 Next generation MMORPG service<br />
  11. 11. 잠깐, 제목과 다른 내용인데?<br />NCDC 2010 Next generation MMORPG service<br />
  12. 12. 너는 우리의 미래<br />We rule은 미래에 등장할 lightweight MMORPG의 프로토타입이 아니었을까?<br />근거<br />Free to play<br />가벼운 클라이언트 (모바일/ 플래시)<br />비동기 플레이 & 실시간 플레이 & push 통지<br />SNS를 통한 친구 끌어들이기<br />거대 단일 월드<br />NCDC 2010 Next generation MMORPG service<br />
  13. 13. AAA급 MMORPG라면…<br />최고 성능의 그래픽<br />멋진 월드 설정과 배경<br />쿨하고 섹쉬한 캐릭터<br />끝없는 퀘스트<br />최고의 렌더링 엔진<br />실감나는 물리 엔진<br />캐릭터 커스터마이징<br />기타 등등, 기타 등등<br />NCDC 2010 Next generation MMORPG service<br />
  14. 14. 5년 뒤의 NC의 MMORPG는?<br />AAA MMORPG<br />100GB의 클라이언트 패키지<br />2560 x 1440 화면 해상도<br />Unreal 4 엔진 장착<br />VS<br />Lightweight MMORPG<br />별도의 다운로드 없이 바로 플레이<br />모바일부터 데스크탑까지 다양한 화면 크기<br />플랫폼에 따른 다양한 렌더링 엔진<br />NCDC 2010 Next generation MMORPG service<br />
  15. 15. 두 영역을<br />모두 공략?<br />
  16. 16. 으아~~<br />NCDC 2010 Next generation MMORPG service<br />
  17. 17. 他山之石<br />
  18. 18. 요즘 가장 잘 나가는 놈!<br />NCDC 2010 Next generation MMORPG service<br />
  19. 19. NCDC 2010 Next generation MMORPG service<br />
  20. 20. Big bang game company<br />Zynga의 계속 늘어나는 사용자(3월 시점)<br />6천5백만 사용자/일, 2억2천5백만 명/월<br />Farmville은 5개월 동안 2천5백만 명 증가/DAU<br />FishVille은 오픈한 지 1주일 만에 6백만 명 DAU<br />NCDC 2010 Next generation MMORPG service<br />* GDC10 Scaling social games<br />
  21. 21. Zynga’s scaling<br />Scale up – 컴퓨터의 성능을 높이는 것<br />Scale out – 서비스할 컴퓨터를 더 늘리는 것<br />징가의 게임은 DB 하나에서 시작<br />읽기 전용의 DB 복제<br />복수의 마스터 DB<br />DB의 sharding – 수평, 수직<br /><ul><li>CDN과 memcache활용
  22. 22. MMO서버의 sharding및 로드 밸런싱
  23. 23. 용량 계획 수립</li></li></ul><li>Zynga 구조도<br />PHP logic<br />HTTP<br />memcache server<br />Web server<br />MMO server<br />DB server<br />MMO server<br />TCP<br />DB server<br />MMO server<br />DB server<br />Flash-based<br />client<br />My SQL<br />Java logic<br />NCDC 2010 Next generation MMORPG service<br />* GDC10 Scaling social games<br />
  24. 24. 이제까지 NC의 MMORPG는<br />한 월드에 동시 접속 인원을 제한<br />더 많은 사용자를 위해서 복제된 월드를 추가<br />월드간 커뮤니케이션이나 공통 서비스 부족<br />DB의 복제를 통한 단방향 Web 서비스 제공<br />NCDC 2010 Next generation MMORPG service<br />
  25. 25. Case study<br />MMORPG<br />NCSoft’s MMORPG<br />Bluehole’sTera<br />XL games’sArcheAge<br />통합 메신저<br />AION channel chatting system 포함<br />
  26. 26. NC MMORPG의 구성<br />Login server<br />TCP<br />1<br />World 1<br />2<br />World …<br />World N<br />Game server<br />cacheD + Game DB<br />LogD + Log DB<br />MS-SQL<br />NCDC 2010 Next generation MMORPG service<br />
  27. 27. Bluehole의 MMORPG<br />Login server<br />Instance servers<br />1<br />Instance servers<br />Planet<br />2<br />Arbiter server<br />Arbiter server<br />Game DB<br />Chatting<br />Guild<br /> DB cache<br />World 1…N<br />LogD + Log DB<br />World servers<br />NCDC 2010 Next generation MMORPG service<br />*Gametech2010<br />
  28. 28. XL games의 MMORPG<br />Auth server<br />1<br />World <br />2<br />World server<br />Game DB<br />AI server<br />Physics server<br />Instanecezone srv<br />NCDC 2010 Next generation MMORPG service<br />* Gametech 2010<br />
  29. 29. Zone 분할 월드의 서버 구조<br />Logine server<br />Lobby server<br />DB cache<br />Game server<br />Game server<br />Game server<br />DB server<br />NCDC 2010 Next generation MMORPG service<br />
  30. 30. 채널 채팅(통합 메신저)<br />100만명 동시접속 목표 설계<br />A 게임 오픈 시 서버 2 대로 20만 이상 채널 채팅<br />Sharding User<br />Configurationserver<br />Externalserver<br />Internalserver<br />Database<br />Externalserver<br />NCDC 2010 Next generation MMORPG service<br />
  31. 31. 앞의 시스템들의 공통점은?<br />서비스 규모의 확장에 대해 고민하고 있었다<br />
  32. 32. 새로운 서비스의 요구<br />단일 월드<br />단일 경매장<br />통합 인스턴스던전<br />모바일 및 Web과의 연계<br />Facebook, twitter와 연동<br />NCDC 2010 Next generation MMORPG service<br />
  33. 33. 난 너의 모든 것을 알고 싶다!<br />NCDC 2010 Next generation MMORPG service<br />
  34. 34. 현재 서비스 구조에서 가능한가?<br />지금과 같은 MMORPG에서는 어렵다<br />무엇을 준비해야 하는가?<br />게임 기획 단계부터 관련 컨텐츠 구분<br />다양한 요구에 대응할 수 있는 서버 구성<br />확장이 쉬운 DB 선택<br />NCDC 2010 Next generation MMORPG service<br />
  35. 35. 이런 구조면 어떨까?<br />Login server<br />Web/SNS 서비스<br />Other services<br />Game servers<br />Game data<br />Log/async data<br />NCDC 2010 Next generation MMORPG service<br />
  36. 36. 설계 단계 부터 준비<br />컨텐츠 속성에 따른 DB 데이터 구분<br />동기/비동기 데이터<br />웹 연동을 지원하기 위한 구조 설계<br />통합 로깅 시스템<br />게임 플레이 정보, 게임 내 SNS 지원을 정보<br />읽기보다 쓰기가 많은 데이터라는 것이 특징<br />NCDC 2010 Next generation MMORPG service<br />
  37. 37. 확장을 위한 준비<br />게임 서버용 DB에 RDBMS 사용<br />속도 향상을 위해 memcache서버 사용<br />안정성을 위해 DB 이중화<br />DB의 수평적 분할(sharding)을 이용하여 DB 확장 대응<br />비동기 데이터 쓰기에 적합한 NoSQL사용<br />분산 DB를 이용한 데이터 복제<br />NCDC 2010 Next generation MMORPG service<br />
  38. 38. 왜 NoSQL 이 등장하였는가<br />Massive data volume<br />수 만 대의 DB를 사용하는 상황 발생<br />Extreme query workload<br />위 상황에서 RDBMS에서 사용은 무리<br />Schema evolution<br />Schema 변경도 쉬운 일이 아님<br />
  39. 39. Cassandra<br />Google의 Big table과 Amazon의 Dynamo 기반<br />서버간 P2P 연결<br />중첩된 column (super columns) 저장 방식<br />읽기보다는 쓰기가 빈번한 데이터를 저장하는데 효율적<br />CassandraProject<br />처음엔 Facebook, 지금은 Apache에서 개발<br />Java, OpenSource 기반의 분산 DB<br />분산 DB 서버간의 실시간 동기화는 안됨<br />구조가 간단하여 MySQL에 비해 수 천 배 빠름<br />NCDC 2010 Next generation MMORPG service<br />
  40. 40. Case study - Digg<br />NCDC 2010 Next generation MMORPG service<br />
  41. 41. NoSQL 적용 사례 (digg 서비스)<br />Digg가 처했던 어려움 <br />고성능의쓰기 위주에 적합한 DB 구축 필요<br />특성 상 DB에서 데이터 일관성을 포기할 수 있는 상황 <br />Cassandra 선정<br />컬럼 기반, 구조적 문서 저장 가능 <br />모든 노드가 개별적으로 동작, 데이터가 여러 노드 간에 복제된다<br />서버를 추가할 경우 읽기, 쓰기 성능이 선형적으로 증가 <br />NCDC 2010 Next generation MMORPG service<br />
  42. 42. DB의 확장(Sharding)<br />한 대의 DB 머신 성능으로 처리가 불가능할 때<br />수직적 분할<br />테이블마다 다른 DB. 일정 수준 이상의 사용자 증가에는 도움이 안됨<br />수평적 분할(sharding)<br />사용자 id 또는 지역 등으로 DB를 나누어 넣음.<br />사용자가 늘면 더 잘게 나누면 됨<br />나뉘어진 DB간의 join이 쉽지 않음<br />데이터를 중복하여 기록하여 쿼리를 횟수를 줄임<br />DB 확장 계획을 미리 세워 분할 규칙을 수립해야 함<br />NCDC 2010 Next generation MMORPG service<br />
  43. 43. 확장의 함정<br />서비스 상황<br />게임 서버 군 < 웹/업데이트 서버<br />서버 구매 비용 < 서버 운영 비용(IDC)<br />서비스에 사용되는 서버 수 증가<br />시스템의 고장율 증가(MTBF가 짧아짐)<br />해결 방향<br />이중화, 다중화<br />하지만 게임 서버 이중화는 어렵다, 병렬화로 접근하자<br />하지만 DB 캐시 및 DB의 데이터 다중화, 중복 가능<br />고성능의 서버 사용과 효율화로 서버 증가 억제<br />10년 내 core 100 이상의 CPU 등장<br />NCDC 2010 Next generation MMORPG service<br />
  44. 44. Wrap up<br />확장을 고려한 시스템<br />DB 확장 정책 수립<br />NoSQL 사용 고려<br />이중화, 데이터 복제<br />서버의 고성능화 고려<br />NCDC 2010 Next generation MMORPG service<br />
  45. 45. Q & A<br />

×