SlideShare a Scribd company logo
1 of 56
Next MMORPG Service architecture Ncsoft / LF team, Technical director Jongwon Kim
Who am I? Current NCsoft, LF Team / Technical director Developing a new MMORPG
What’s the most popular Social Network Game on iPhone in 2010? ?
Hand up if you know this game!!
www.google.com/trends
SNS Game: We rule iPhone App Game inspired by the FarmVille Business model : Mojo and ingameAd.
But… Execllent arts and App client Made by developers from the Age of empire Increasing network traffics Increasing download data Visit more Kingdom, download more data Failing to login, long down time Many players quit this game
Failure!!
Postmortem More users slower network traffic Show the limit of the free to playgame Global one world, But… They needed a stable service architecture
Hmmm…
Future MMORPGs are … The ‘We rule’ is a prototype game for the future lightweight MMORPG. Requirement of future MMORPG Free to play Small client program (mobile app/ flash game) Asyncronous play & realtime play & push notification Conneting friends via SNS (Facebook) Big one universe
MMORPGs would be … in 2015 AAA MMORPG Client install size would be 100GB Display resolution would be 2560 x 1440 Game engine would be Unreal 5 orCryENGINE 5 Or Anywhere MMORPG Quick play without download From mobile to desktop PC, n-screen game Game engine for multi-platform or Unity3D
Killing two  rabbits with one stone
Aaah~~
他山之石 Let another's shipwreck be your sea mark
Best player!
The big bang game company Zynga’s user count (2010 March) 65M user/day, 225M user/month Farmville user increased by 25M/DAU for 5 month FishVille user was 6M /DAU just for a week * GDC10 Scaling social games
Zynga’s service architecture PHP logic HTTP memcachedserver Web server MMO server DB server MMO server TCP DB server MMO server DB server Flash-based client My SQL Java logic * GDC10 Scaling social games
Zynga’s scaling ,[object Object]
Scale out – Increasing number of computers
Start from one DB
DB replication for read only data
Multiple Master DB
DBsharding – horizontal, vertical
CDN andmemcached
MMO serversharding and load balancing
Prepare a DB scaling plan,[object Object]
Case study MMORPG NCsoft’s MMORPG Bluehole’sTera XL games’ ArcheAge The split zonearchitecture NCsoft’s channel chatting system
NCsoft’s MMORPGs Login server TCP 1 World 1 2 World … World N Game server cacheD + Game DB C++ logic C++ logic MS-SQL LogD + Log DB C++ logic
Bluehole’sMMORPG Login server Instance servers 1 Instance servers Planet MS-SQL 2 Arbiter server Arbiter server Game DB Connection Chatting  DB cache compression World 1…N LogD + Log DB World servers * Gametech 2010
XL games’sMMORPG Auth server 1 World  2 World server Game DB AI server Physics server Instanecezone srv * Gametech 2010
The split-zone architecture Logine server 1 2 Lobby server DB cache 3 Game server Game server Game server DB server Divided into zones
Ncsoft channel chatting system A 100 thousand connect per a server when the AIONopening in 2008 Configurationserver ShardingUsers Externalserver Internalserver Database Externalserver
These systems are … Prepare the scaling of game
New requests of the service Big one shard One auction system Unified instance zone Smartphane & Web Facebook, twitter and SNS
I know what you did in the game!! * World of warcraft web site
Are you ready? Not yet. We must prepare the new requests We need New game design New game contents New service architecture for the multiplatform New DB system
NCsoft’s MMORPGs (again) Login server TCP 1 World 1 2 World … World N Game server cacheD + Game DB MS-SQL LogD + Log DB
Next architecture? Web/SNS services Login server Other services Game servers Game log/asyncdata Game data
Database
MMORPGDB’s features MS-SQL and MySQL are difficult to scale out  Most actions of DB are writes and updates in MMORPG  Bottleneck of the DBMS is HDDI/O CPU isn’t critical point in processing DB request Increasing of HDD performance is more important SSD(Flashmemory disk) could be alternative  Difficult to support both, the game server and the web Replication DB server for the read only actions
Redesign from scratch Separate DB data for the content type Sync data / asynch data Use different DBMSs for data type Preparing the web service at first Don’t process the transactions in DB In the game logic server or the cache server Unified logging system Game play data, SNS related data in game
Scaling of DB  NoSQL for the game play data DB replication and data distribution of readings Horizontal partition of DB for the distribution of writings Hybrid RDBMS with NoSQL Support RDBMS and NoSQL Put the important data and less writing data to the RDBMS The asynchronous data writing is more suitable to NoSQL
What’s the NoSQL?
No SQL != DBMS ‘Non-relational’ or ‘Not only SQL’ Not DBMS But thestructured storage No table schema
Why NoSQL? Massive data volume Extreme query workload Schema evolution & changes Various NoSQL coming Stability, Management, Security issues
여러 NoSQL 등장
Cassandra Big table (Google) and Dynama(Amazon) based project P2P among servers Column storage Writing > Reading CassandraProject Starting at Facebook, Current Apache Project Distributed DB in Java, OpenSource No realtimesynchorization among DB servers Very simple and fast than MySQL
Case study - Digg
Digg is a social news website. Digg’s difficulty Need a new DB for very large writings transaction Don’t need a data consistency of the whole service Digg chose the Cassandra Column based, structured document storage Every DB node could work separately. Data is replicated several DB nodes. The performance of the reading and writing transactions could increase linearly by the adding servers Too experimental
Open source project,www.mongodb.org Document-oriented DB BSON format like JSON No fixed tableschema Arbitrary document structure storage Could be nested document structure Support full index Replication & auto-sharding
MongoDB(cont’) Consistency-Partition tolerance Interface : C/C++,C#, Java, Python, PHP, Perl,Ruby Implementation : C++ with boost lib. Memory size & HDD speed Support : 10gen.com Recently raised $6.5M Funding by Sequoia Capital
MongoDB sample db.students.find({‘name': ‘Jane'}) print(db.student.address.city); print(db.student.scores[0].for_course.name);

More Related Content

Viewers also liked

나를 위한 행복한 명상, 마음수련
나를 위한 행복한 명상, 마음수련나를 위한 행복한 명상, 마음수련
나를 위한 행복한 명상, 마음수련마음수련
 
마음빼기 명상을 활용한 고등학교 인성프로그램 개발 및 적용
마음빼기 명상을 활용한 고등학교 인성프로그램 개발 및 적용마음빼기 명상을 활용한 고등학교 인성프로그램 개발 및 적용
마음빼기 명상을 활용한 고등학교 인성프로그램 개발 및 적용마음수련
 
감정코칭을 통한 학습멘토링 120710
감정코칭을 통한 학습멘토링 120710감정코칭을 통한 학습멘토링 120710
감정코칭을 통한 학습멘토링 120710Kim Won-han
 
디자인과 문화
디자인과 문화디자인과 문화
디자인과 문화youlim
 
게임에서 흔히 쓰이는 최적화 전략 by 엄윤섭 @ 지스타 컨퍼런스 2013
게임에서 흔히 쓰이는 최적화 전략 by 엄윤섭 @ 지스타 컨퍼런스 2013게임에서 흔히 쓰이는 최적화 전략 by 엄윤섭 @ 지스타 컨퍼런스 2013
게임에서 흔히 쓰이는 최적화 전략 by 엄윤섭 @ 지스타 컨퍼런스 2013영욱 오
 
Unity4 Mecanim 활용
Unity4 Mecanim 활용Unity4 Mecanim 활용
Unity4 Mecanim 활용희운 강
 
Bigger Game Leadership Coach Training Course 2nd
Bigger Game Leadership Coach Training Course 2ndBigger Game Leadership Coach Training Course 2nd
Bigger Game Leadership Coach Training Course 2ndYoungjune Park
 
English Study Guide Book
English Study Guide BookEnglish Study Guide Book
English Study Guide BookSNOW.or.kr
 
4. 캐릭터 애니메이션
4. 캐릭터 애니메이션4. 캐릭터 애니메이션
4. 캐릭터 애니메이션MinGeun Park
 
스피치 커뮤니케이션(개정판)
스피치 커뮤니케이션(개정판)스피치 커뮤니케이션(개정판)
스피치 커뮤니케이션(개정판)commbooks
 
KGC 2014 프로파일러를 이용한 게임 클라이언트 최적화
KGC 2014 프로파일러를 이용한 게임 클라이언트 최적화KGC 2014 프로파일러를 이용한 게임 클라이언트 최적화
KGC 2014 프로파일러를 이용한 게임 클라이언트 최적화Jongwon Kim
 
스피치 커뮤니케이션(2010년 개정판) 제1강 말길트기
스피치 커뮤니케이션(2010년 개정판) 제1강 말길트기스피치 커뮤니케이션(2010년 개정판) 제1강 말길트기
스피치 커뮤니케이션(2010년 개정판) 제1강 말길트기커뮤니케이션북스(주)
 
서울한바닥 전시회 PPT
서울한바닥 전시회  PPT서울한바닥 전시회  PPT
서울한바닥 전시회 PPTMinsoo Kim
 
한상원, 친아티스트 3D 캐릭터 리깅, NDC2010
한상원, 친아티스트 3D 캐릭터 리깅, NDC2010한상원, 친아티스트 3D 캐릭터 리깅, NDC2010
한상원, 친아티스트 3D 캐릭터 리깅, NDC2010devCAT Studio, NEXON
 
효과적인 코칭 기법
효과적인 코칭 기법효과적인 코칭 기법
효과적인 코칭 기법Seokho Shin
 
프로그래머가 되고 싶으세요
프로그래머가 되고 싶으세요프로그래머가 되고 싶으세요
프로그래머가 되고 싶으세요Chris Ohk
 
Ndc2012 최지호 텍스쳐 압축 기법 소개
Ndc2012 최지호 텍스쳐 압축 기법 소개Ndc2012 최지호 텍스쳐 압축 기법 소개
Ndc2012 최지호 텍스쳐 압축 기법 소개Jiho Choi
 

Viewers also liked (19)

나를 위한 행복한 명상, 마음수련
나를 위한 행복한 명상, 마음수련나를 위한 행복한 명상, 마음수련
나를 위한 행복한 명상, 마음수련
 
마음빼기 명상을 활용한 고등학교 인성프로그램 개발 및 적용
마음빼기 명상을 활용한 고등학교 인성프로그램 개발 및 적용마음빼기 명상을 활용한 고등학교 인성프로그램 개발 및 적용
마음빼기 명상을 활용한 고등학교 인성프로그램 개발 및 적용
 
감정코칭을 통한 학습멘토링 120710
감정코칭을 통한 학습멘토링 120710감정코칭을 통한 학습멘토링 120710
감정코칭을 통한 학습멘토링 120710
 
디자인과 문화
디자인과 문화디자인과 문화
디자인과 문화
 
게임에서 흔히 쓰이는 최적화 전략 by 엄윤섭 @ 지스타 컨퍼런스 2013
게임에서 흔히 쓰이는 최적화 전략 by 엄윤섭 @ 지스타 컨퍼런스 2013게임에서 흔히 쓰이는 최적화 전략 by 엄윤섭 @ 지스타 컨퍼런스 2013
게임에서 흔히 쓰이는 최적화 전략 by 엄윤섭 @ 지스타 컨퍼런스 2013
 
Unity4 Mecanim 활용
Unity4 Mecanim 활용Unity4 Mecanim 활용
Unity4 Mecanim 활용
 
Bigger Game Leadership Coach Training Course 2nd
Bigger Game Leadership Coach Training Course 2ndBigger Game Leadership Coach Training Course 2nd
Bigger Game Leadership Coach Training Course 2nd
 
English Study Guide Book
English Study Guide BookEnglish Study Guide Book
English Study Guide Book
 
Coach
CoachCoach
Coach
 
4. 캐릭터 애니메이션
4. 캐릭터 애니메이션4. 캐릭터 애니메이션
4. 캐릭터 애니메이션
 
스피치 커뮤니케이션(개정판)
스피치 커뮤니케이션(개정판)스피치 커뮤니케이션(개정판)
스피치 커뮤니케이션(개정판)
 
KGC 2014 프로파일러를 이용한 게임 클라이언트 최적화
KGC 2014 프로파일러를 이용한 게임 클라이언트 최적화KGC 2014 프로파일러를 이용한 게임 클라이언트 최적화
KGC 2014 프로파일러를 이용한 게임 클라이언트 최적화
 
The Producer
The ProducerThe Producer
The Producer
 
스피치 커뮤니케이션(2010년 개정판) 제1강 말길트기
스피치 커뮤니케이션(2010년 개정판) 제1강 말길트기스피치 커뮤니케이션(2010년 개정판) 제1강 말길트기
스피치 커뮤니케이션(2010년 개정판) 제1강 말길트기
 
서울한바닥 전시회 PPT
서울한바닥 전시회  PPT서울한바닥 전시회  PPT
서울한바닥 전시회 PPT
 
한상원, 친아티스트 3D 캐릭터 리깅, NDC2010
한상원, 친아티스트 3D 캐릭터 리깅, NDC2010한상원, 친아티스트 3D 캐릭터 리깅, NDC2010
한상원, 친아티스트 3D 캐릭터 리깅, NDC2010
 
효과적인 코칭 기법
효과적인 코칭 기법효과적인 코칭 기법
효과적인 코칭 기법
 
프로그래머가 되고 싶으세요
프로그래머가 되고 싶으세요프로그래머가 되고 싶으세요
프로그래머가 되고 싶으세요
 
Ndc2012 최지호 텍스쳐 압축 기법 소개
Ndc2012 최지호 텍스쳐 압축 기법 소개Ndc2012 최지호 텍스쳐 압축 기법 소개
Ndc2012 최지호 텍스쳐 압축 기법 소개
 

Similar to Next mmorpg architecture-siggraph_asia2010

[KGC 2012] Online Game Server Architecture Case Study Performance and Security
[KGC 2012] Online Game Server Architecture Case Study Performance and Security[KGC 2012] Online Game Server Architecture Case Study Performance and Security
[KGC 2012] Online Game Server Architecture Case Study Performance and SecuritySeungmin Shin
 
A Front-Row Seat to Ticketmaster’s Use of MongoDB
A Front-Row Seat to Ticketmaster’s Use of MongoDBA Front-Row Seat to Ticketmaster’s Use of MongoDB
A Front-Row Seat to Ticketmaster’s Use of MongoDBMongoDB
 
xTech2006_DB2onRails
xTech2006_DB2onRailsxTech2006_DB2onRails
xTech2006_DB2onRailswebuploader
 
Best Practices for Building Open Source Data Layers
Best Practices for Building Open Source Data LayersBest Practices for Building Open Source Data Layers
Best Practices for Building Open Source Data LayersIBMCompose
 
Thin Server Architecture
Thin Server ArchitectureThin Server Architecture
Thin Server ArchitectureMitch Pirtle
 
Game Programming - Cloud Development
Game Programming - Cloud DevelopmentGame Programming - Cloud Development
Game Programming - Cloud DevelopmentNick Pruehs
 
Cloud Gaming Onward: Research Opportunities and Outlook
Cloud Gaming Onward: Research Opportunities and OutlookCloud Gaming Onward: Research Opportunities and Outlook
Cloud Gaming Onward: Research Opportunities and OutlookAcademia Sinica
 
MongoDB World 2018: Bumps and Breezes: Our Journey from RDBMS to MongoDB
MongoDB World 2018: Bumps and Breezes: Our Journey from RDBMS to MongoDBMongoDB World 2018: Bumps and Breezes: Our Journey from RDBMS to MongoDB
MongoDB World 2018: Bumps and Breezes: Our Journey from RDBMS to MongoDBMongoDB
 
Lightbend Fast Data Platform
Lightbend Fast Data PlatformLightbend Fast Data Platform
Lightbend Fast Data PlatformLightbend
 
MongoDB Days Silicon Valley: Winning the Dreamforce Hackathon with MongoDB
MongoDB Days Silicon Valley: Winning the Dreamforce Hackathon with MongoDBMongoDB Days Silicon Valley: Winning the Dreamforce Hackathon with MongoDB
MongoDB Days Silicon Valley: Winning the Dreamforce Hackathon with MongoDBMongoDB
 
Catan world and Churchill
Catan world and ChurchillCatan world and Churchill
Catan world and ChurchillGrant Goodale
 
Experiences using CouchDB inside Microsoft's Azure team
Experiences using CouchDB inside Microsoft's Azure teamExperiences using CouchDB inside Microsoft's Azure team
Experiences using CouchDB inside Microsoft's Azure teamBrian Benz
 
Handling Data in Mega Scale Systems
Handling Data in Mega Scale SystemsHandling Data in Mega Scale Systems
Handling Data in Mega Scale SystemsDirecti Group
 
Parallel Futures of a Game Engine (v2.0)
Parallel Futures of a Game Engine (v2.0)Parallel Futures of a Game Engine (v2.0)
Parallel Futures of a Game Engine (v2.0)Johan Andersson
 
MongoDB Developer's Notebook, March 2016 -- MongoDB Connector for Business In...
MongoDB Developer's Notebook, March 2016 -- MongoDB Connector for Business In...MongoDB Developer's Notebook, March 2016 -- MongoDB Connector for Business In...
MongoDB Developer's Notebook, March 2016 -- MongoDB Connector for Business In...Daniel M. Farrell
 
Asko Oja Moskva Architecture Highload
Asko Oja Moskva Architecture HighloadAsko Oja Moskva Architecture Highload
Asko Oja Moskva Architecture HighloadOntico
 

Similar to Next mmorpg architecture-siggraph_asia2010 (20)

[KGC 2012] Online Game Server Architecture Case Study Performance and Security
[KGC 2012] Online Game Server Architecture Case Study Performance and Security[KGC 2012] Online Game Server Architecture Case Study Performance and Security
[KGC 2012] Online Game Server Architecture Case Study Performance and Security
 
A Front-Row Seat to Ticketmaster’s Use of MongoDB
A Front-Row Seat to Ticketmaster’s Use of MongoDBA Front-Row Seat to Ticketmaster’s Use of MongoDB
A Front-Row Seat to Ticketmaster’s Use of MongoDB
 
線上遊戲與雲端運算
線上遊戲與雲端運算線上遊戲與雲端運算
線上遊戲與雲端運算
 
xTech2006_DB2onRails
xTech2006_DB2onRailsxTech2006_DB2onRails
xTech2006_DB2onRails
 
Best Practices for Building Open Source Data Layers
Best Practices for Building Open Source Data LayersBest Practices for Building Open Source Data Layers
Best Practices for Building Open Source Data Layers
 
Thin Server Architecture
Thin Server ArchitectureThin Server Architecture
Thin Server Architecture
 
Game Programming - Cloud Development
Game Programming - Cloud DevelopmentGame Programming - Cloud Development
Game Programming - Cloud Development
 
Mdb dn 2016_11_ops_mgr
Mdb dn 2016_11_ops_mgrMdb dn 2016_11_ops_mgr
Mdb dn 2016_11_ops_mgr
 
Cloud Gaming Onward: Research Opportunities and Outlook
Cloud Gaming Onward: Research Opportunities and OutlookCloud Gaming Onward: Research Opportunities and Outlook
Cloud Gaming Onward: Research Opportunities and Outlook
 
MongoDB World 2018: Bumps and Breezes: Our Journey from RDBMS to MongoDB
MongoDB World 2018: Bumps and Breezes: Our Journey from RDBMS to MongoDBMongoDB World 2018: Bumps and Breezes: Our Journey from RDBMS to MongoDB
MongoDB World 2018: Bumps and Breezes: Our Journey from RDBMS to MongoDB
 
Lightbend Fast Data Platform
Lightbend Fast Data PlatformLightbend Fast Data Platform
Lightbend Fast Data Platform
 
MongoDB Days Silicon Valley: Winning the Dreamforce Hackathon with MongoDB
MongoDB Days Silicon Valley: Winning the Dreamforce Hackathon with MongoDBMongoDB Days Silicon Valley: Winning the Dreamforce Hackathon with MongoDB
MongoDB Days Silicon Valley: Winning the Dreamforce Hackathon with MongoDB
 
Catan world and Churchill
Catan world and ChurchillCatan world and Churchill
Catan world and Churchill
 
Experiences using CouchDB inside Microsoft's Azure team
Experiences using CouchDB inside Microsoft's Azure teamExperiences using CouchDB inside Microsoft's Azure team
Experiences using CouchDB inside Microsoft's Azure team
 
Handling Data in Mega Scale Systems
Handling Data in Mega Scale SystemsHandling Data in Mega Scale Systems
Handling Data in Mega Scale Systems
 
Parallel Futures of a Game Engine (v2.0)
Parallel Futures of a Game Engine (v2.0)Parallel Futures of a Game Engine (v2.0)
Parallel Futures of a Game Engine (v2.0)
 
MongoDB Developer's Notebook, March 2016 -- MongoDB Connector for Business In...
MongoDB Developer's Notebook, March 2016 -- MongoDB Connector for Business In...MongoDB Developer's Notebook, March 2016 -- MongoDB Connector for Business In...
MongoDB Developer's Notebook, March 2016 -- MongoDB Connector for Business In...
 
Asko Oja Moskva Architecture Highload
Asko Oja Moskva Architecture HighloadAsko Oja Moskva Architecture Highload
Asko Oja Moskva Architecture Highload
 
Low-level Graphics APIs
Low-level Graphics APIsLow-level Graphics APIs
Low-level Graphics APIs
 
Scaling your website
Scaling your websiteScaling your website
Scaling your website
 

Recently uploaded

From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 

Recently uploaded (20)

From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 

Next mmorpg architecture-siggraph_asia2010

  • 1.
  • 2. Next MMORPG Service architecture Ncsoft / LF team, Technical director Jongwon Kim
  • 3. Who am I? Current NCsoft, LF Team / Technical director Developing a new MMORPG
  • 4. What’s the most popular Social Network Game on iPhone in 2010? ?
  • 5. Hand up if you know this game!!
  • 7.
  • 8. SNS Game: We rule iPhone App Game inspired by the FarmVille Business model : Mojo and ingameAd.
  • 9. But… Execllent arts and App client Made by developers from the Age of empire Increasing network traffics Increasing download data Visit more Kingdom, download more data Failing to login, long down time Many players quit this game
  • 11. Postmortem More users slower network traffic Show the limit of the free to playgame Global one world, But… They needed a stable service architecture
  • 13. Future MMORPGs are … The ‘We rule’ is a prototype game for the future lightweight MMORPG. Requirement of future MMORPG Free to play Small client program (mobile app/ flash game) Asyncronous play & realtime play & push notification Conneting friends via SNS (Facebook) Big one universe
  • 14. MMORPGs would be … in 2015 AAA MMORPG Client install size would be 100GB Display resolution would be 2560 x 1440 Game engine would be Unreal 5 orCryENGINE 5 Or Anywhere MMORPG Quick play without download From mobile to desktop PC, n-screen game Game engine for multi-platform or Unity3D
  • 15. Killing two rabbits with one stone
  • 17. 他山之石 Let another's shipwreck be your sea mark
  • 19.
  • 20. The big bang game company Zynga’s user count (2010 March) 65M user/day, 225M user/month Farmville user increased by 25M/DAU for 5 month FishVille user was 6M /DAU just for a week * GDC10 Scaling social games
  • 21. Zynga’s service architecture PHP logic HTTP memcachedserver Web server MMO server DB server MMO server TCP DB server MMO server DB server Flash-based client My SQL Java logic * GDC10 Scaling social games
  • 22.
  • 23. Scale out – Increasing number of computers
  • 25. DB replication for read only data
  • 29. MMO serversharding and load balancing
  • 30.
  • 31. Case study MMORPG NCsoft’s MMORPG Bluehole’sTera XL games’ ArcheAge The split zonearchitecture NCsoft’s channel chatting system
  • 32. NCsoft’s MMORPGs Login server TCP 1 World 1 2 World … World N Game server cacheD + Game DB C++ logic C++ logic MS-SQL LogD + Log DB C++ logic
  • 33. Bluehole’sMMORPG Login server Instance servers 1 Instance servers Planet MS-SQL 2 Arbiter server Arbiter server Game DB Connection Chatting DB cache compression World 1…N LogD + Log DB World servers * Gametech 2010
  • 34. XL games’sMMORPG Auth server 1 World 2 World server Game DB AI server Physics server Instanecezone srv * Gametech 2010
  • 35. The split-zone architecture Logine server 1 2 Lobby server DB cache 3 Game server Game server Game server DB server Divided into zones
  • 36. Ncsoft channel chatting system A 100 thousand connect per a server when the AIONopening in 2008 Configurationserver ShardingUsers Externalserver Internalserver Database Externalserver
  • 37. These systems are … Prepare the scaling of game
  • 38. New requests of the service Big one shard One auction system Unified instance zone Smartphane & Web Facebook, twitter and SNS
  • 39. I know what you did in the game!! * World of warcraft web site
  • 40. Are you ready? Not yet. We must prepare the new requests We need New game design New game contents New service architecture for the multiplatform New DB system
  • 41. NCsoft’s MMORPGs (again) Login server TCP 1 World 1 2 World … World N Game server cacheD + Game DB MS-SQL LogD + Log DB
  • 42. Next architecture? Web/SNS services Login server Other services Game servers Game log/asyncdata Game data
  • 44. MMORPGDB’s features MS-SQL and MySQL are difficult to scale out Most actions of DB are writes and updates in MMORPG Bottleneck of the DBMS is HDDI/O CPU isn’t critical point in processing DB request Increasing of HDD performance is more important SSD(Flashmemory disk) could be alternative Difficult to support both, the game server and the web Replication DB server for the read only actions
  • 45. Redesign from scratch Separate DB data for the content type Sync data / asynch data Use different DBMSs for data type Preparing the web service at first Don’t process the transactions in DB In the game logic server or the cache server Unified logging system Game play data, SNS related data in game
  • 46. Scaling of DB NoSQL for the game play data DB replication and data distribution of readings Horizontal partition of DB for the distribution of writings Hybrid RDBMS with NoSQL Support RDBMS and NoSQL Put the important data and less writing data to the RDBMS The asynchronous data writing is more suitable to NoSQL
  • 48. No SQL != DBMS ‘Non-relational’ or ‘Not only SQL’ Not DBMS But thestructured storage No table schema
  • 49. Why NoSQL? Massive data volume Extreme query workload Schema evolution & changes Various NoSQL coming Stability, Management, Security issues
  • 51. Cassandra Big table (Google) and Dynama(Amazon) based project P2P among servers Column storage Writing > Reading CassandraProject Starting at Facebook, Current Apache Project Distributed DB in Java, OpenSource No realtimesynchorization among DB servers Very simple and fast than MySQL
  • 52. Case study - Digg
  • 53. Digg is a social news website. Digg’s difficulty Need a new DB for very large writings transaction Don’t need a data consistency of the whole service Digg chose the Cassandra Column based, structured document storage Every DB node could work separately. Data is replicated several DB nodes. The performance of the reading and writing transactions could increase linearly by the adding servers Too experimental
  • 54. Open source project,www.mongodb.org Document-oriented DB BSON format like JSON No fixed tableschema Arbitrary document structure storage Could be nested document structure Support full index Replication & auto-sharding
  • 55. MongoDB(cont’) Consistency-Partition tolerance Interface : C/C++,C#, Java, Python, PHP, Perl,Ruby Implementation : C++ with boost lib. Memory size & HDD speed Support : 10gen.com Recently raised $6.5M Funding by Sequoia Capital
  • 56. MongoDB sample db.students.find({‘name': ‘Jane'}) print(db.student.address.city); print(db.student.scores[0].for_course.name);
  • 57.
  • 58. Cassandra vsMongoDB Cassandra : SNS, Web, Log-base Java impl. ,Garbage collection Scaling and distribution – worldwide web service Not easy to change columns MongoDB : RDBMS-like C++impl. ,Use memory mapped file on Windows Fast & simple DB – contry-size web service Lower scalability than Cassandra Easy to change tables and fields in developmint
  • 59. Another tip - DB Sharding When single DB machine couldn’t process Vertical sharding (partitioning) Different machines for each table. But there is a upper limit of the single machine performance Horizontal sharding Partition tables with user id or user location More user more partition tables Difficult to join query among partitioned DB Tables could contain redundant fields not to query Should make a DB scaling plan before services
  • 60. Pitfalls of the scaling Real service is Game logic servers < Web/update servers Server purchase cost < Server operation cost (in IDC) Increasing servers Increasing system failure rate (shorten MTBF) Solution Duplexing or Multiplexing But game logic servers hart to duplex Muliplexand replicate DB caches & DBs Use more high performance machine to suppress a increase servers
  • 62. Wrap up Prepare to scaling service system Consider to use NoSQL DB multiplexing & replication Use high performance machines
  • 63. Q & A Twitter @JongwonKim http://www.forge.kr