SlideShare uma empresa Scribd logo
1 de 27
요새 트렌드에서 ProudNet은
어떻게 적응하고 있는가
넷텐션
2013년 7월 현재
검증 선례
• 100개 이상의 라이선시
• 한국, 중국, 일본, 미국, 독일, 네덜란드, 싱가폴, 태
국, 대만에서 프라우드넷 기반 게임 서버가 가동중
사용된 PC 온라인 게임
• 마비노기 영웅전, 마계촌 온라인, 레드블러드
온라인, 러스티하츠, 차구차구, 최강의 군단
사용된 모바일 게임
• 터치파이터, 달을 삼킨 늑대, 천랑, 매직마
스터즈 온라인, 레인오브컨커러스, 크로스
카운터
요새 서버 트렌드
2008년 (넷텐션 설립년도)
• PC 온라인
• 윈도 서버
• 물리적 서버
• 자체제작 서버툴
• TCP, UDP
• 넷마블,피망,한게임,…
2013년
• ...그리고 모바일
• ...그리고 멀티플랫폼
• ...그리고 클라우드 서버
• ...그리고 오픈소스 서버툴
• ...그리고 HTTP
• ...그리고 매시업
우리는 어떻게 대응하는가
• 고객사들이 던지는 요구
명세 채우는 것만으로도
벅찬 상황! ㅠ.ㅠ
• 뭐 나쁘지는 않아요.
– 실제 수요자들의 명확한 실
제 수요를 맞추는 것임
– 나름 재미있음 -.-;;;
Development
branch
master
feature branch
(엄청 활발함)
서비스 론칭한
업체들의 굳은
자 버전
• 저희회사에 많이들 지원해주세요 ^.^
• 현재 엔진팀 7명(저 빼고)인데 여전히 바쁨
-0-;
모바일
• 게임 출시 경험이 몇차례 있는 모바일 게임 업
체들은, 생각보다 성능에 목숨거는 분위기
– 아저씨, 아줌마들의 저사양 폰을 최대한 많이 지원
해야 해서
– 메모리 문제도 엄청 신경씀
– 유니티… 개발도 편하고 퀄러티도 괜찮지만, 성능
미리 생각해서 피하기도 함
• 프라우드넷 비 유니티 버전에 대한 수요가 높
음
• 모바일 게임에서 성능 관련 최대 쟁점
– frame rate (느린 것 말고) 지글거림 문제
– 폰 뜨거워짐, 배터리 문제
– 3G
• 게임 개발사들마다 성향이 다르다!
– 하이엔드 경험을 위해 60Hz 돌격하는 프로젝트
– 저사양폰+배터리 소모 크게 고려하면서 15Hz로 기는
프로젝트
• 이런 곳은 멀티스레딩 싫어함 -0-  소켓 버퍼가 커야 함
• 10년전 데스크탑 성능이지만, RAM은 속도도 용량
도 거지같음
• 안드로이드에서 Java는 생각보다 발열 문제가 심
각
– 프레임레이트 문제는 둘째치고라도
• 다행히, 구글의 “NDK는 성능 이익이 별로에요~”는 알고
보니 뻥
• 프라우드넷 네트워크 클라이언트 코어는 이미
NDK (C++ API)와 pure Java로 만들어져 있음
• 배터리 문제 때문에, pure Java 버전의 하단은 NDK
로 교체할 예정
• 안드로이드폰마다 조금씩 다른 스펙
– iOS, Android의 소켓 버퍼 최대 크기
– 스레딩 퍼포먼스
– 갤럭시 S4(LTE-A 말고 LTE 국산 모델)의 클럭
resolution
• 이미 해결
• 3G vs. Wifi
– 게임 하다가 wifi존에서 나간 경우
– 게임 하다가 wifi존에 도착한 경우
– 게임 플레이하다 전화가 온 경우
– 3G 송신큐 제어를 통한 QoS
– 3G의 랜덤 랙 => Suporious RTO
• 일부는 해결됐고, 나머지는 진행중
멀티 플랫폼
• C++, C#, ActionScript, UnrealScript, Java
• Unity3D, Cocos2D-X, Unreal Engine, Marmalade
• iOS Native, Android Java, Android NDK
• Adobe Flash
• 헉헉…다 만들어놨음 (Unity, Flash만 공식 출시고 나머지는 베타중)
• 다양한 개발 환경 지원
– Visual Studio, Eclipse, XCode, Unity Editor
– ProudNet IDL Compiler for Mac OS
• 해결
• 플랫폼마다 다른 비동기 네트워크 I/O 모델
– iocp,epoll,kqueue,simple poll
(웬 simple poll?  Marmalade 때문에)
– 짜증나더라도, epoll,kqueue,simple poll은
• reactor 모듈로, iocp는 proactor 모듈로 이원화 후
• 제각각 케이스를 만들어야 성능에 유리
• syscall과 1:1 대응하기 때문. 모바일에서 성능에 중요한
요소임
• 다 해놨는데, 리팩토링중 -0-;
• Win32 API 쓰던 부분들 다 뜯어냄
• #if 떡칠 
최대한 모아놓고 거기서만 #if 떡칠
• 대부분 해놨음. 제일 까다로왔던 부분은 의
외로… string 부분임 -0-;
• QPC/QPF vs. clock_gettime vs. gettimeofday
– iOS에서 clock_gettime은 음수랍니다 -0-;;;;
– Java는 unsigned integer 사용 불가능
• /dev/random ≠ /dev/urandom
• wcslen, wsprintf in NDK  Java는 UTF-32 -0-;;
• Mono ≠ .Net Framework
– iPhone3GS, iPhone 4에서 일으키는 문제
– Mono Socket.Connect 함수의 버그
• 이것 말고도 많았던 것 같은데 기억이 안남 -0-;;;
• 어쨌거나 다 해결.
• 도움말도 .chm에서 웹기반으로 변경
– Mac OS에서는 .chm을 못 엶
• MySQL, MS SQL, Postgre
• ADO.NET vs. ADO6  Back to the ODBC
• C++/CLI API 구조 변경
– 서버 모듈은 C++/CLI 그대로 유지하되,
네트워크 클라이언트 모듈은 pure C#으로
• 리눅스 서버(아…언제 들어가냥 -0-;;;)
• 여기까지가 최근 반년동안의 이슈였음
논리적 단일 서버
• 모바일 게임에서
단일 서버는 거
의 필수
• ProudNet DB
cache 시스템으
로 논리적 단일
서버는 이렇게 게임
DB
유저계
정 DB
DB
cache
server
게임
DB
유저계
정 DB
DB
cache
server
게임
DB
유저계
정 DB
DB
cache
server
게임
DB
유저계
정 DB
DB
cache
server
게임서버
게임서버
게임서버
매핑DB 매핑DB
매핑DB
클라우드 서버
• 서비스 중에도 서버 개수를 늘리거나 줄일 수 있게 만들
어야
• 실시간 멀티플레이를 클라우드 서버에서 하면?
– 클라우드 서버의 특성상, 언제든지 랙이 생길 수 있음!
– 층간 소음 문제이므로 피할 수 없음!
– 싫으면 물리적 서버 써야함
– 아니면 타 업체의 서버가 자기 서버의 물리적 서버(하이퍼
바이저)에 입점 못하게 해야 함
(가능하긴 한가? -_-)
– 플레이어 위치 동기화에서 P2P를 제한적으로 사용
(그래도 3G는 랜덤 랙 못 피함)
• 많은 수의 서버 인스턴스를 두자
• 클라우드 서버에서 매핑 DB는 필수
다양한 오픈소스 툴킷
• 프라우드넷에서는
– provider 모듈만 제공하거나
• Zabbix, Zookeeper
– 혹은, 대체 모듈을 자체제작할라구요
• Redis, memcached
• 아직 시작도 못하고 있음! ㅜ.ㅜ
• 일단, json provider부터 준비해야하는데
(입사지원좀 해주세요)
매시업
• 카카오, 페이스북, GREE, 게임센터, 스팀
• 앱스토어, 구글플레이
• 탭조이
• 이것들의 매시업은 소스 형태로 제공할 예정
감사합니다!
• 입사지원 hyunjik.bae@nettention.com
• 평가판 문의 www.nettention.com

Mais conteúdo relacionado

Mais procurados

게임서버프로그래밍 #7 - 패킷핸들링 및 암호화
게임서버프로그래밍 #7 - 패킷핸들링 및 암호화게임서버프로그래밍 #7 - 패킷핸들링 및 암호화
게임서버프로그래밍 #7 - 패킷핸들링 및 암호화Seungmo Koo
 
게임서버프로그래밍 #8 - 성능 평가
게임서버프로그래밍 #8 - 성능 평가게임서버프로그래밍 #8 - 성능 평가
게임서버프로그래밍 #8 - 성능 평가Seungmo Koo
 
NDC 11 자이언트 서버의 비밀
NDC 11 자이언트 서버의 비밀NDC 11 자이언트 서버의 비밀
NDC 11 자이언트 서버의 비밀승명 양
 
게임서버프로그래밍 #2 - IOCP Adv
게임서버프로그래밍 #2 - IOCP Adv게임서버프로그래밍 #2 - IOCP Adv
게임서버프로그래밍 #2 - IOCP AdvSeungmo Koo
 
양승명, 다음 세대 크로스플랫폼 MMORPG 아키텍처, NDC2012
양승명, 다음 세대 크로스플랫폼 MMORPG 아키텍처, NDC2012양승명, 다음 세대 크로스플랫폼 MMORPG 아키텍처, NDC2012
양승명, 다음 세대 크로스플랫폼 MMORPG 아키텍처, NDC2012devCAT Studio, NEXON
 
이희영, 글로벌 원빌드 모바일 게임 런칭과 라이브 개발, NDC2016
이희영, 글로벌 원빌드 모바일 게임 런칭과 라이브 개발, NDC2016이희영, 글로벌 원빌드 모바일 게임 런칭과 라이브 개발, NDC2016
이희영, 글로벌 원빌드 모바일 게임 런칭과 라이브 개발, NDC2016devCAT Studio, NEXON
 
[Play.node] node.js 를 사용한 대규모 글로벌(+중국) 서비스
[Play.node] node.js 를 사용한 대규모 글로벌(+중국) 서비스[Play.node] node.js 를 사용한 대규모 글로벌(+중국) 서비스
[Play.node] node.js 를 사용한 대규모 글로벌(+중국) 서비스Dan Kang (강동한)
 
NDC14 범용 게임 서버 프레임워크 디자인 및 테크닉
NDC14 범용 게임 서버 프레임워크 디자인 및 테크닉NDC14 범용 게임 서버 프레임워크 디자인 및 테크닉
NDC14 범용 게임 서버 프레임워크 디자인 및 테크닉iFunFactory Inc.
 
게임서버프로그래밍 #5 - 데이터베이스 핸들링
게임서버프로그래밍 #5 - 데이터베이스 핸들링게임서버프로그래밍 #5 - 데이터베이스 핸들링
게임서버프로그래밍 #5 - 데이터베이스 핸들링Seungmo Koo
 
이승재, 박경재, NDC Replay 제작기: static website, static backoffice, NDC2017
이승재, 박경재, NDC Replay 제작기: static website, static backoffice, NDC2017이승재, 박경재, NDC Replay 제작기: static website, static backoffice, NDC2017
이승재, 박경재, NDC Replay 제작기: static website, static backoffice, NDC2017devCAT Studio, NEXON
 
웹서버와 프라우드넷 서버간 상호작용 가이드
웹서버와 프라우드넷 서버간 상호작용 가이드웹서버와 프라우드넷 서버간 상호작용 가이드
웹서버와 프라우드넷 서버간 상호작용 가이드Hyunjik Bae
 
KGC 2016: HTTPS 로 모바일 게임 서버 구축한다는 것 - Korea Games Conference
KGC 2016: HTTPS 로 모바일 게임 서버 구축한다는 것 - Korea Games ConferenceKGC 2016: HTTPS 로 모바일 게임 서버 구축한다는 것 - Korea Games Conference
KGC 2016: HTTPS 로 모바일 게임 서버 구축한다는 것 - Korea Games ConferenceXionglong Jin
 
게임서버프로그래밍 #4 - 멀티스레드 프로그래밍
게임서버프로그래밍 #4 - 멀티스레드 프로그래밍게임서버프로그래밍 #4 - 멀티스레드 프로그래밍
게임서버프로그래밍 #4 - 멀티스레드 프로그래밍Seungmo Koo
 
라이브 서비스를 위한 게임 서버 구성
라이브 서비스를 위한 게임 서버 구성라이브 서비스를 위한 게임 서버 구성
라이브 서비스를 위한 게임 서버 구성Hyunjik Bae
 
웹서버와 ProudNet 서버간 상호작용 가이드
웹서버와 ProudNet 서버간 상호작용 가이드웹서버와 ProudNet 서버간 상호작용 가이드
웹서버와 ProudNet 서버간 상호작용 가이드Hyunjik Bae
 
스마트폰 앱 백-엔드 솔루션 개발을 위한 Node.js 실전 가이드
스마트폰 앱 백-엔드 솔루션 개발을 위한 Node.js 실전 가이드스마트폰 앱 백-엔드 솔루션 개발을 위한 Node.js 실전 가이드
스마트폰 앱 백-엔드 솔루션 개발을 위한 Node.js 실전 가이드Jeongsang Baek
 
[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버
[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버
[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버Heungsub Lee
 
Ndc14 분산 서버 구축의 ABC
Ndc14 분산 서버 구축의 ABCNdc14 분산 서버 구축의 ABC
Ndc14 분산 서버 구축의 ABCHo Gyu Lee
 
모바일 Rpg 게임서버 리팩토링
모바일 Rpg 게임서버 리팩토링모바일 Rpg 게임서버 리팩토링
모바일 Rpg 게임서버 리팩토링기환 천
 

Mais procurados (20)

게임서버프로그래밍 #7 - 패킷핸들링 및 암호화
게임서버프로그래밍 #7 - 패킷핸들링 및 암호화게임서버프로그래밍 #7 - 패킷핸들링 및 암호화
게임서버프로그래밍 #7 - 패킷핸들링 및 암호화
 
게임서버프로그래밍 #8 - 성능 평가
게임서버프로그래밍 #8 - 성능 평가게임서버프로그래밍 #8 - 성능 평가
게임서버프로그래밍 #8 - 성능 평가
 
NDC 11 자이언트 서버의 비밀
NDC 11 자이언트 서버의 비밀NDC 11 자이언트 서버의 비밀
NDC 11 자이언트 서버의 비밀
 
게임서버프로그래밍 #2 - IOCP Adv
게임서버프로그래밍 #2 - IOCP Adv게임서버프로그래밍 #2 - IOCP Adv
게임서버프로그래밍 #2 - IOCP Adv
 
양승명, 다음 세대 크로스플랫폼 MMORPG 아키텍처, NDC2012
양승명, 다음 세대 크로스플랫폼 MMORPG 아키텍처, NDC2012양승명, 다음 세대 크로스플랫폼 MMORPG 아키텍처, NDC2012
양승명, 다음 세대 크로스플랫폼 MMORPG 아키텍처, NDC2012
 
이희영, 글로벌 원빌드 모바일 게임 런칭과 라이브 개발, NDC2016
이희영, 글로벌 원빌드 모바일 게임 런칭과 라이브 개발, NDC2016이희영, 글로벌 원빌드 모바일 게임 런칭과 라이브 개발, NDC2016
이희영, 글로벌 원빌드 모바일 게임 런칭과 라이브 개발, NDC2016
 
[Play.node] node.js 를 사용한 대규모 글로벌(+중국) 서비스
[Play.node] node.js 를 사용한 대규모 글로벌(+중국) 서비스[Play.node] node.js 를 사용한 대규모 글로벌(+중국) 서비스
[Play.node] node.js 를 사용한 대규모 글로벌(+중국) 서비스
 
NDC14 범용 게임 서버 프레임워크 디자인 및 테크닉
NDC14 범용 게임 서버 프레임워크 디자인 및 테크닉NDC14 범용 게임 서버 프레임워크 디자인 및 테크닉
NDC14 범용 게임 서버 프레임워크 디자인 및 테크닉
 
게임서버프로그래밍 #5 - 데이터베이스 핸들링
게임서버프로그래밍 #5 - 데이터베이스 핸들링게임서버프로그래밍 #5 - 데이터베이스 핸들링
게임서버프로그래밍 #5 - 데이터베이스 핸들링
 
이승재, 박경재, NDC Replay 제작기: static website, static backoffice, NDC2017
이승재, 박경재, NDC Replay 제작기: static website, static backoffice, NDC2017이승재, 박경재, NDC Replay 제작기: static website, static backoffice, NDC2017
이승재, 박경재, NDC Replay 제작기: static website, static backoffice, NDC2017
 
06 플리토
06 플리토06 플리토
06 플리토
 
웹서버와 프라우드넷 서버간 상호작용 가이드
웹서버와 프라우드넷 서버간 상호작용 가이드웹서버와 프라우드넷 서버간 상호작용 가이드
웹서버와 프라우드넷 서버간 상호작용 가이드
 
KGC 2016: HTTPS 로 모바일 게임 서버 구축한다는 것 - Korea Games Conference
KGC 2016: HTTPS 로 모바일 게임 서버 구축한다는 것 - Korea Games ConferenceKGC 2016: HTTPS 로 모바일 게임 서버 구축한다는 것 - Korea Games Conference
KGC 2016: HTTPS 로 모바일 게임 서버 구축한다는 것 - Korea Games Conference
 
게임서버프로그래밍 #4 - 멀티스레드 프로그래밍
게임서버프로그래밍 #4 - 멀티스레드 프로그래밍게임서버프로그래밍 #4 - 멀티스레드 프로그래밍
게임서버프로그래밍 #4 - 멀티스레드 프로그래밍
 
라이브 서비스를 위한 게임 서버 구성
라이브 서비스를 위한 게임 서버 구성라이브 서비스를 위한 게임 서버 구성
라이브 서비스를 위한 게임 서버 구성
 
웹서버와 ProudNet 서버간 상호작용 가이드
웹서버와 ProudNet 서버간 상호작용 가이드웹서버와 ProudNet 서버간 상호작용 가이드
웹서버와 ProudNet 서버간 상호작용 가이드
 
스마트폰 앱 백-엔드 솔루션 개발을 위한 Node.js 실전 가이드
스마트폰 앱 백-엔드 솔루션 개발을 위한 Node.js 실전 가이드스마트폰 앱 백-엔드 솔루션 개발을 위한 Node.js 실전 가이드
스마트폰 앱 백-엔드 솔루션 개발을 위한 Node.js 실전 가이드
 
[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버
[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버
[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버
 
Ndc14 분산 서버 구축의 ABC
Ndc14 분산 서버 구축의 ABCNdc14 분산 서버 구축의 ABC
Ndc14 분산 서버 구축의 ABC
 
모바일 Rpg 게임서버 리팩토링
모바일 Rpg 게임서버 리팩토링모바일 Rpg 게임서버 리팩토링
모바일 Rpg 게임서버 리팩토링
 

Destaque

Tdc2013 선배들에게 배우는 server scalability
Tdc2013 선배들에게 배우는 server scalabilityTdc2013 선배들에게 배우는 server scalability
Tdc2013 선배들에게 배우는 server scalability흥배 최
 
[KGC 2011]Boost 라이브러리와 C++11
[KGC 2011]Boost 라이브러리와 C++11[KGC 2011]Boost 라이브러리와 C++11
[KGC 2011]Boost 라이브러리와 C++11흥배 최
 
KGC10 - Visual C++10과 디버깅
KGC10 - Visual C++10과 디버깅KGC10 - Visual C++10과 디버깅
KGC10 - Visual C++10과 디버깅흥배 최
 
닷넷 Apache avro
닷넷 Apache avro닷넷 Apache avro
닷넷 Apache avro흥배 최
 
NET 최선단 기술에 의한 고성능 웹 애플리케이션
NET 최선단 기술에 의한 고성능 웹 애플리케이션NET 최선단 기술에 의한 고성능 웹 애플리케이션
NET 최선단 기술에 의한 고성능 웹 애플리케이션흥배 최
 
[1116 박민근] c++11에 추가된 새로운 기능들
[1116 박민근] c++11에 추가된 새로운 기능들[1116 박민근] c++11에 추가된 새로운 기능들
[1116 박민근] c++11에 추가된 새로운 기능들MinGeun Park
 
KGC2015_C# 스크립트를 사용한 게임서버 모니터링 시스템개발
KGC2015_C# 스크립트를 사용한 게임서버 모니터링 시스템개발KGC2015_C# 스크립트를 사용한 게임서버 모니터링 시스템개발
KGC2015_C# 스크립트를 사용한 게임서버 모니터링 시스템개발흥배 최
 
잘 알려지지 않은 숨은 진주, Winsock API - WSAPoll, Fast Loopback
잘 알려지지 않은 숨은 진주, Winsock API - WSAPoll, Fast Loopback잘 알려지지 않은 숨은 진주, Winsock API - WSAPoll, Fast Loopback
잘 알려지지 않은 숨은 진주, Winsock API - WSAPoll, Fast Loopback흥배 최
 
Modern C++ 프로그래머를 위한 CPP11/14 핵심
Modern C++ 프로그래머를 위한 CPP11/14 핵심Modern C++ 프로그래머를 위한 CPP11/14 핵심
Modern C++ 프로그래머를 위한 CPP11/14 핵심흥배 최
 
What is Game Server ?
What is Game Server ?What is Game Server ?
What is Game Server ?흥배 최
 
MinWin에 대해서
MinWin에 대해서MinWin에 대해서
MinWin에 대해서흥배 최
 
Visual pmo (hybrid agile) proposal v1 3c
Visual pmo (hybrid agile) proposal v1 3cVisual pmo (hybrid agile) proposal v1 3c
Visual pmo (hybrid agile) proposal v1 3cPeter Kim
 
Mongodb2.2와 2.4의 신 기능 소개
Mongodb2.2와 2.4의 신 기능 소개Mongodb2.2와 2.4의 신 기능 소개
Mongodb2.2와 2.4의 신 기능 소개흥배 최
 
Mongodb 개발 포인트
Mongodb 개발 포인트Mongodb 개발 포인트
Mongodb 개발 포인트흥배 최
 
김항기 시나리오 기반 온라인 게임 서버 부하 테스트 기술
김항기 시나리오 기반 온라인 게임 서버 부하 테스트 기술김항기 시나리오 기반 온라인 게임 서버 부하 테스트 기술
김항기 시나리오 기반 온라인 게임 서버 부하 테스트 기술drandom
 
Wtl 개요와 설치
Wtl 개요와 설치Wtl 개요와 설치
Wtl 개요와 설치흥배 최
 
MsgPack 정리
MsgPack 정리MsgPack 정리
MsgPack 정리Seokmin No
 
ASP.NET과 C#으로 개발하는 대규모 소셜 게임
ASP.NET과 C#으로 개발하는 대규모 소셜 게임ASP.NET과 C#으로 개발하는 대규모 소셜 게임
ASP.NET과 C#으로 개발하는 대규모 소셜 게임흥배 최
 

Destaque (20)

Tdc2013 선배들에게 배우는 server scalability
Tdc2013 선배들에게 배우는 server scalabilityTdc2013 선배들에게 배우는 server scalability
Tdc2013 선배들에게 배우는 server scalability
 
Zookeeper소개
Zookeeper소개Zookeeper소개
Zookeeper소개
 
[KGC 2011]Boost 라이브러리와 C++11
[KGC 2011]Boost 라이브러리와 C++11[KGC 2011]Boost 라이브러리와 C++11
[KGC 2011]Boost 라이브러리와 C++11
 
KGC10 - Visual C++10과 디버깅
KGC10 - Visual C++10과 디버깅KGC10 - Visual C++10과 디버깅
KGC10 - Visual C++10과 디버깅
 
닷넷 Apache avro
닷넷 Apache avro닷넷 Apache avro
닷넷 Apache avro
 
NET 최선단 기술에 의한 고성능 웹 애플리케이션
NET 최선단 기술에 의한 고성능 웹 애플리케이션NET 최선단 기술에 의한 고성능 웹 애플리케이션
NET 최선단 기술에 의한 고성능 웹 애플리케이션
 
[1116 박민근] c++11에 추가된 새로운 기능들
[1116 박민근] c++11에 추가된 새로운 기능들[1116 박민근] c++11에 추가된 새로운 기능들
[1116 박민근] c++11에 추가된 새로운 기능들
 
KGC2015_C# 스크립트를 사용한 게임서버 모니터링 시스템개발
KGC2015_C# 스크립트를 사용한 게임서버 모니터링 시스템개발KGC2015_C# 스크립트를 사용한 게임서버 모니터링 시스템개발
KGC2015_C# 스크립트를 사용한 게임서버 모니터링 시스템개발
 
NLog 소개
NLog 소개NLog 소개
NLog 소개
 
잘 알려지지 않은 숨은 진주, Winsock API - WSAPoll, Fast Loopback
잘 알려지지 않은 숨은 진주, Winsock API - WSAPoll, Fast Loopback잘 알려지지 않은 숨은 진주, Winsock API - WSAPoll, Fast Loopback
잘 알려지지 않은 숨은 진주, Winsock API - WSAPoll, Fast Loopback
 
Modern C++ 프로그래머를 위한 CPP11/14 핵심
Modern C++ 프로그래머를 위한 CPP11/14 핵심Modern C++ 프로그래머를 위한 CPP11/14 핵심
Modern C++ 프로그래머를 위한 CPP11/14 핵심
 
What is Game Server ?
What is Game Server ?What is Game Server ?
What is Game Server ?
 
MinWin에 대해서
MinWin에 대해서MinWin에 대해서
MinWin에 대해서
 
Visual pmo (hybrid agile) proposal v1 3c
Visual pmo (hybrid agile) proposal v1 3cVisual pmo (hybrid agile) proposal v1 3c
Visual pmo (hybrid agile) proposal v1 3c
 
Mongodb2.2와 2.4의 신 기능 소개
Mongodb2.2와 2.4의 신 기능 소개Mongodb2.2와 2.4의 신 기능 소개
Mongodb2.2와 2.4의 신 기능 소개
 
Mongodb 개발 포인트
Mongodb 개발 포인트Mongodb 개발 포인트
Mongodb 개발 포인트
 
김항기 시나리오 기반 온라인 게임 서버 부하 테스트 기술
김항기 시나리오 기반 온라인 게임 서버 부하 테스트 기술김항기 시나리오 기반 온라인 게임 서버 부하 테스트 기술
김항기 시나리오 기반 온라인 게임 서버 부하 테스트 기술
 
Wtl 개요와 설치
Wtl 개요와 설치Wtl 개요와 설치
Wtl 개요와 설치
 
MsgPack 정리
MsgPack 정리MsgPack 정리
MsgPack 정리
 
ASP.NET과 C#으로 개발하는 대규모 소셜 게임
ASP.NET과 C#으로 개발하는 대규모 소셜 게임ASP.NET과 C#으로 개발하는 대규모 소셜 게임
ASP.NET과 C#으로 개발하는 대규모 소셜 게임
 

Semelhante a 2013년 7월 현재 트렌드에서의 프라우드넷은 어떻게 적응하고 있는가

Gametech 2014: 모바일 게임용 PaaS/BaaS 구현 사례와 디자인 트레이드오프
Gametech 2014: 모바일 게임용 PaaS/BaaS 구현 사례와 디자인 트레이드오프Gametech 2014: 모바일 게임용 PaaS/BaaS 구현 사례와 디자인 트레이드오프
Gametech 2014: 모바일 게임용 PaaS/BaaS 구현 사례와 디자인 트레이드오프Jinuk Kim
 
Azure로 MMO게임 서비스하기
Azure로 MMO게임 서비스하기Azure로 MMO게임 서비스하기
Azure로 MMO게임 서비스하기YEONG-CHEON YOU
 
[2A1]Line은 어떻게 글로벌 메신저 플랫폼이 되었는가
[2A1]Line은 어떻게 글로벌 메신저 플랫폼이 되었는가[2A1]Line은 어떻게 글로벌 메신저 플랫폼이 되었는가
[2A1]Line은 어떻게 글로벌 메신저 플랫폼이 되었는가NAVER D2
 
이승재, 실버바인 서버엔진 2 설계 리뷰, NDC2018
이승재, 실버바인 서버엔진 2 설계 리뷰, NDC2018이승재, 실버바인 서버엔진 2 설계 리뷰, NDC2018
이승재, 실버바인 서버엔진 2 설계 리뷰, NDC2018devCAT Studio, NEXON
 
Auto Scalable 한 Deep Learning Production 을 위한 AI Serving Infra 구성 및 AI DevOps...
Auto Scalable 한 Deep Learning Production 을 위한 AI Serving Infra 구성 및 AI DevOps...Auto Scalable 한 Deep Learning Production 을 위한 AI Serving Infra 구성 및 AI DevOps...
Auto Scalable 한 Deep Learning Production 을 위한 AI Serving Infra 구성 및 AI DevOps...hoondong kim
 
[NDC17] Protocol:hyperspace Diver 개발 포스트모템
[NDC17] Protocol:hyperspace Diver 개발 포스트모템[NDC17] Protocol:hyperspace Diver 개발 포스트모템
[NDC17] Protocol:hyperspace Diver 개발 포스트모템Young Soo Kim
 
소셜게임 서버 개발 관점에서 본 Node.js의 장단점과 대안
소셜게임 서버 개발 관점에서 본 Node.js의 장단점과 대안소셜게임 서버 개발 관점에서 본 Node.js의 장단점과 대안
소셜게임 서버 개발 관점에서 본 Node.js의 장단점과 대안Jeongsang Baek
 
Rhea_MMO_SNG_Convergence_Server_Architecture
Rhea_MMO_SNG_Convergence_Server_ArchitectureRhea_MMO_SNG_Convergence_Server_Architecture
Rhea_MMO_SNG_Convergence_Server_ArchitectureRhea Strike
 
Game Server Middleware 'ProudNet'
Game Server Middleware 'ProudNet'Game Server Middleware 'ProudNet'
Game Server Middleware 'ProudNet'Nettention
 
서버와 클라이언트 같은 엔진 사용하기
서버와 클라이언트 같은 엔진 사용하기서버와 클라이언트 같은 엔진 사용하기
서버와 클라이언트 같은 엔진 사용하기YEONG-CHEON YOU
 
2015 제2회 동아리 해커 세미나 - 병렬컴퓨팅 소개 (16기 김정현)
2015 제2회 동아리 해커 세미나 - 병렬컴퓨팅 소개 (16기 김정현)2015 제2회 동아리 해커 세미나 - 병렬컴퓨팅 소개 (16기 김정현)
2015 제2회 동아리 해커 세미나 - 병렬컴퓨팅 소개 (16기 김정현)khuhacker
 
Quic을 이용한 네트워크 성능 개선
 Quic을 이용한 네트워크 성능 개선 Quic을 이용한 네트워크 성능 개선
Quic을 이용한 네트워크 성능 개선NAVER D2
 
모바일게임 1인 QA 업무 경험담
모바일게임 1인 QA 업무 경험담모바일게임 1인 QA 업무 경험담
모바일게임 1인 QA 업무 경험담dgclan
 
NAVER의 웹/HTML5환경 대응 현황
NAVER의 웹/HTML5환경 대응 현황NAVER의 웹/HTML5환경 대응 현황
NAVER의 웹/HTML5환경 대응 현황NAVER Engineering
 
2015년 마이크로소프트 ComCamp, 리눅스 개발자를 위한 클라우드 Azure
2015년 마이크로소프트  ComCamp, 리눅스 개발자를 위한 클라우드 Azure2015년 마이크로소프트  ComCamp, 리눅스 개발자를 위한 클라우드 Azure
2015년 마이크로소프트 ComCamp, 리눅스 개발자를 위한 클라우드 AzureDennis Kim
 
홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019
홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019
홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019devCAT Studio, NEXON
 
사설 서버를 막는 방법들 (프리섭, 더이상은 Naver)
사설 서버를 막는 방법들 (프리섭, 더이상은 Naver)사설 서버를 막는 방법들 (프리섭, 더이상은 Naver)
사설 서버를 막는 방법들 (프리섭, 더이상은 Naver)Seungmo Koo
 
Rhea mmo node_for_share
Rhea mmo node_for_shareRhea mmo node_for_share
Rhea mmo node_for_shareRhea Strike
 
KGC 2014 가볍고 유연하게 데이터 분석하기 : 쿠키런 사례 중심 , 데브시스터즈
KGC 2014 가볍고 유연하게 데이터 분석하기 : 쿠키런 사례 중심 , 데브시스터즈KGC 2014 가볍고 유연하게 데이터 분석하기 : 쿠키런 사례 중심 , 데브시스터즈
KGC 2014 가볍고 유연하게 데이터 분석하기 : 쿠키런 사례 중심 , 데브시스터즈Minwoo Kim
 

Semelhante a 2013년 7월 현재 트렌드에서의 프라우드넷은 어떻게 적응하고 있는가 (20)

Gametech 2014: 모바일 게임용 PaaS/BaaS 구현 사례와 디자인 트레이드오프
Gametech 2014: 모바일 게임용 PaaS/BaaS 구현 사례와 디자인 트레이드오프Gametech 2014: 모바일 게임용 PaaS/BaaS 구현 사례와 디자인 트레이드오프
Gametech 2014: 모바일 게임용 PaaS/BaaS 구현 사례와 디자인 트레이드오프
 
Azure로 MMO게임 서비스하기
Azure로 MMO게임 서비스하기Azure로 MMO게임 서비스하기
Azure로 MMO게임 서비스하기
 
[2A1]Line은 어떻게 글로벌 메신저 플랫폼이 되었는가
[2A1]Line은 어떻게 글로벌 메신저 플랫폼이 되었는가[2A1]Line은 어떻게 글로벌 메신저 플랫폼이 되었는가
[2A1]Line은 어떻게 글로벌 메신저 플랫폼이 되었는가
 
이승재, 실버바인 서버엔진 2 설계 리뷰, NDC2018
이승재, 실버바인 서버엔진 2 설계 리뷰, NDC2018이승재, 실버바인 서버엔진 2 설계 리뷰, NDC2018
이승재, 실버바인 서버엔진 2 설계 리뷰, NDC2018
 
Auto Scalable 한 Deep Learning Production 을 위한 AI Serving Infra 구성 및 AI DevOps...
Auto Scalable 한 Deep Learning Production 을 위한 AI Serving Infra 구성 및 AI DevOps...Auto Scalable 한 Deep Learning Production 을 위한 AI Serving Infra 구성 및 AI DevOps...
Auto Scalable 한 Deep Learning Production 을 위한 AI Serving Infra 구성 및 AI DevOps...
 
[NDC17] Protocol:hyperspace Diver 개발 포스트모템
[NDC17] Protocol:hyperspace Diver 개발 포스트모템[NDC17] Protocol:hyperspace Diver 개발 포스트모템
[NDC17] Protocol:hyperspace Diver 개발 포스트모템
 
소셜게임 서버 개발 관점에서 본 Node.js의 장단점과 대안
소셜게임 서버 개발 관점에서 본 Node.js의 장단점과 대안소셜게임 서버 개발 관점에서 본 Node.js의 장단점과 대안
소셜게임 서버 개발 관점에서 본 Node.js의 장단점과 대안
 
Rhea_MMO_SNG_Convergence_Server_Architecture
Rhea_MMO_SNG_Convergence_Server_ArchitectureRhea_MMO_SNG_Convergence_Server_Architecture
Rhea_MMO_SNG_Convergence_Server_Architecture
 
Game Server Middleware 'ProudNet'
Game Server Middleware 'ProudNet'Game Server Middleware 'ProudNet'
Game Server Middleware 'ProudNet'
 
서버와 클라이언트 같은 엔진 사용하기
서버와 클라이언트 같은 엔진 사용하기서버와 클라이언트 같은 엔진 사용하기
서버와 클라이언트 같은 엔진 사용하기
 
2015 제2회 동아리 해커 세미나 - 병렬컴퓨팅 소개 (16기 김정현)
2015 제2회 동아리 해커 세미나 - 병렬컴퓨팅 소개 (16기 김정현)2015 제2회 동아리 해커 세미나 - 병렬컴퓨팅 소개 (16기 김정현)
2015 제2회 동아리 해커 세미나 - 병렬컴퓨팅 소개 (16기 김정현)
 
Quic을 이용한 네트워크 성능 개선
 Quic을 이용한 네트워크 성능 개선 Quic을 이용한 네트워크 성능 개선
Quic을 이용한 네트워크 성능 개선
 
모바일게임 1인 QA 업무 경험담
모바일게임 1인 QA 업무 경험담모바일게임 1인 QA 업무 경험담
모바일게임 1인 QA 업무 경험담
 
NAVER의 웹/HTML5환경 대응 현황
NAVER의 웹/HTML5환경 대응 현황NAVER의 웹/HTML5환경 대응 현황
NAVER의 웹/HTML5환경 대응 현황
 
2015년 마이크로소프트 ComCamp, 리눅스 개발자를 위한 클라우드 Azure
2015년 마이크로소프트  ComCamp, 리눅스 개발자를 위한 클라우드 Azure2015년 마이크로소프트  ComCamp, 리눅스 개발자를 위한 클라우드 Azure
2015년 마이크로소프트 ComCamp, 리눅스 개발자를 위한 클라우드 Azure
 
Siegewar 2
Siegewar 2Siegewar 2
Siegewar 2
 
홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019
홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019
홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019
 
사설 서버를 막는 방법들 (프리섭, 더이상은 Naver)
사설 서버를 막는 방법들 (프리섭, 더이상은 Naver)사설 서버를 막는 방법들 (프리섭, 더이상은 Naver)
사설 서버를 막는 방법들 (프리섭, 더이상은 Naver)
 
Rhea mmo node_for_share
Rhea mmo node_for_shareRhea mmo node_for_share
Rhea mmo node_for_share
 
KGC 2014 가볍고 유연하게 데이터 분석하기 : 쿠키런 사례 중심 , 데브시스터즈
KGC 2014 가볍고 유연하게 데이터 분석하기 : 쿠키런 사례 중심 , 데브시스터즈KGC 2014 가볍고 유연하게 데이터 분석하기 : 쿠키런 사례 중심 , 데브시스터즈
KGC 2014 가볍고 유연하게 데이터 분석하기 : 쿠키런 사례 중심 , 데브시스터즈
 

Último

Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Kim Daeun
 
캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스
 
A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)Tae Young Lee
 
Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Wonjun Hwang
 
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionMOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionKim Daeun
 
Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Wonjun Hwang
 

Último (6)

Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
 
캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차
 
A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)
 
Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)
 
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionMOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
 
Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)
 

2013년 7월 현재 트렌드에서의 프라우드넷은 어떻게 적응하고 있는가

  • 1. 요새 트렌드에서 ProudNet은 어떻게 적응하고 있는가 넷텐션 2013년 7월 현재
  • 2. 검증 선례 • 100개 이상의 라이선시 • 한국, 중국, 일본, 미국, 독일, 네덜란드, 싱가폴, 태 국, 대만에서 프라우드넷 기반 게임 서버가 가동중
  • 3. 사용된 PC 온라인 게임 • 마비노기 영웅전, 마계촌 온라인, 레드블러드 온라인, 러스티하츠, 차구차구, 최강의 군단
  • 4. 사용된 모바일 게임 • 터치파이터, 달을 삼킨 늑대, 천랑, 매직마 스터즈 온라인, 레인오브컨커러스, 크로스 카운터
  • 6. 2008년 (넷텐션 설립년도) • PC 온라인 • 윈도 서버 • 물리적 서버 • 자체제작 서버툴 • TCP, UDP • 넷마블,피망,한게임,… 2013년 • ...그리고 모바일 • ...그리고 멀티플랫폼 • ...그리고 클라우드 서버 • ...그리고 오픈소스 서버툴 • ...그리고 HTTP • ...그리고 매시업
  • 8. • 고객사들이 던지는 요구 명세 채우는 것만으로도 벅찬 상황! ㅠ.ㅠ • 뭐 나쁘지는 않아요. – 실제 수요자들의 명확한 실 제 수요를 맞추는 것임 – 나름 재미있음 -.-;;; Development branch master feature branch (엄청 활발함) 서비스 론칭한 업체들의 굳은 자 버전
  • 9. • 저희회사에 많이들 지원해주세요 ^.^ • 현재 엔진팀 7명(저 빼고)인데 여전히 바쁨 -0-;
  • 10. 모바일 • 게임 출시 경험이 몇차례 있는 모바일 게임 업 체들은, 생각보다 성능에 목숨거는 분위기 – 아저씨, 아줌마들의 저사양 폰을 최대한 많이 지원 해야 해서 – 메모리 문제도 엄청 신경씀 – 유니티… 개발도 편하고 퀄러티도 괜찮지만, 성능 미리 생각해서 피하기도 함 • 프라우드넷 비 유니티 버전에 대한 수요가 높 음
  • 11. • 모바일 게임에서 성능 관련 최대 쟁점 – frame rate (느린 것 말고) 지글거림 문제 – 폰 뜨거워짐, 배터리 문제 – 3G • 게임 개발사들마다 성향이 다르다! – 하이엔드 경험을 위해 60Hz 돌격하는 프로젝트 – 저사양폰+배터리 소모 크게 고려하면서 15Hz로 기는 프로젝트 • 이런 곳은 멀티스레딩 싫어함 -0-  소켓 버퍼가 커야 함 • 10년전 데스크탑 성능이지만, RAM은 속도도 용량 도 거지같음
  • 12. • 안드로이드에서 Java는 생각보다 발열 문제가 심 각 – 프레임레이트 문제는 둘째치고라도 • 다행히, 구글의 “NDK는 성능 이익이 별로에요~”는 알고 보니 뻥 • 프라우드넷 네트워크 클라이언트 코어는 이미 NDK (C++ API)와 pure Java로 만들어져 있음 • 배터리 문제 때문에, pure Java 버전의 하단은 NDK 로 교체할 예정
  • 13. • 안드로이드폰마다 조금씩 다른 스펙 – iOS, Android의 소켓 버퍼 최대 크기 – 스레딩 퍼포먼스 – 갤럭시 S4(LTE-A 말고 LTE 국산 모델)의 클럭 resolution • 이미 해결
  • 14. • 3G vs. Wifi – 게임 하다가 wifi존에서 나간 경우 – 게임 하다가 wifi존에 도착한 경우 – 게임 플레이하다 전화가 온 경우 – 3G 송신큐 제어를 통한 QoS – 3G의 랜덤 랙 => Suporious RTO • 일부는 해결됐고, 나머지는 진행중
  • 15. 멀티 플랫폼 • C++, C#, ActionScript, UnrealScript, Java • Unity3D, Cocos2D-X, Unreal Engine, Marmalade • iOS Native, Android Java, Android NDK • Adobe Flash • 헉헉…다 만들어놨음 (Unity, Flash만 공식 출시고 나머지는 베타중)
  • 16. • 다양한 개발 환경 지원 – Visual Studio, Eclipse, XCode, Unity Editor – ProudNet IDL Compiler for Mac OS • 해결
  • 17. • 플랫폼마다 다른 비동기 네트워크 I/O 모델 – iocp,epoll,kqueue,simple poll (웬 simple poll?  Marmalade 때문에) – 짜증나더라도, epoll,kqueue,simple poll은 • reactor 모듈로, iocp는 proactor 모듈로 이원화 후 • 제각각 케이스를 만들어야 성능에 유리 • syscall과 1:1 대응하기 때문. 모바일에서 성능에 중요한 요소임 • 다 해놨는데, 리팩토링중 -0-;
  • 18. • Win32 API 쓰던 부분들 다 뜯어냄 • #if 떡칠  최대한 모아놓고 거기서만 #if 떡칠 • 대부분 해놨음. 제일 까다로왔던 부분은 의 외로… string 부분임 -0-;
  • 19. • QPC/QPF vs. clock_gettime vs. gettimeofday – iOS에서 clock_gettime은 음수랍니다 -0-;;;; – Java는 unsigned integer 사용 불가능 • /dev/random ≠ /dev/urandom • wcslen, wsprintf in NDK  Java는 UTF-32 -0-;; • Mono ≠ .Net Framework – iPhone3GS, iPhone 4에서 일으키는 문제 – Mono Socket.Connect 함수의 버그 • 이것 말고도 많았던 것 같은데 기억이 안남 -0-;;; • 어쨌거나 다 해결.
  • 20. • 도움말도 .chm에서 웹기반으로 변경 – Mac OS에서는 .chm을 못 엶
  • 21. • MySQL, MS SQL, Postgre • ADO.NET vs. ADO6  Back to the ODBC • C++/CLI API 구조 변경 – 서버 모듈은 C++/CLI 그대로 유지하되, 네트워크 클라이언트 모듈은 pure C#으로 • 리눅스 서버(아…언제 들어가냥 -0-;;;)
  • 22. • 여기까지가 최근 반년동안의 이슈였음
  • 23. 논리적 단일 서버 • 모바일 게임에서 단일 서버는 거 의 필수 • ProudNet DB cache 시스템으 로 논리적 단일 서버는 이렇게 게임 DB 유저계 정 DB DB cache server 게임 DB 유저계 정 DB DB cache server 게임 DB 유저계 정 DB DB cache server 게임 DB 유저계 정 DB DB cache server 게임서버 게임서버 게임서버 매핑DB 매핑DB 매핑DB
  • 24. 클라우드 서버 • 서비스 중에도 서버 개수를 늘리거나 줄일 수 있게 만들 어야 • 실시간 멀티플레이를 클라우드 서버에서 하면? – 클라우드 서버의 특성상, 언제든지 랙이 생길 수 있음! – 층간 소음 문제이므로 피할 수 없음! – 싫으면 물리적 서버 써야함 – 아니면 타 업체의 서버가 자기 서버의 물리적 서버(하이퍼 바이저)에 입점 못하게 해야 함 (가능하긴 한가? -_-) – 플레이어 위치 동기화에서 P2P를 제한적으로 사용 (그래도 3G는 랜덤 랙 못 피함) • 많은 수의 서버 인스턴스를 두자 • 클라우드 서버에서 매핑 DB는 필수
  • 25. 다양한 오픈소스 툴킷 • 프라우드넷에서는 – provider 모듈만 제공하거나 • Zabbix, Zookeeper – 혹은, 대체 모듈을 자체제작할라구요 • Redis, memcached • 아직 시작도 못하고 있음! ㅜ.ㅜ • 일단, json provider부터 준비해야하는데 (입사지원좀 해주세요)
  • 26. 매시업 • 카카오, 페이스북, GREE, 게임센터, 스팀 • 앱스토어, 구글플레이 • 탭조이 • 이것들의 매시업은 소스 형태로 제공할 예정