페이지

2014년 7월 14일 월요일

게임 서버

Gametech 2014: 모바일 게임용 PaaS/BaaS 구현 사례와 디자인 트레이드오프
http://www.slideshare.net/reinkim/gametech-2014-paasbaas

[제14회 JCO 컨퍼런스] 개발자를 위한 서버이중화 by JAVACAFE
http://www.slideshare.net/heungrae_kim/14-jco-by-javacafe


잘 죽지 않는 게임 서버를 설계 해보자 - 서버 HA (High Availability) (1)
http://lab.gamecodi.com/board/zboard.php?id=GAMECODILAB_Lecture_series&page=1&sn1=&divpage=1&sn=off&ss=on&sc=on&select_arrange=headnum&desc=asc&no=41

잘 죽지 않는 게임 서버를 설계 해보자 - 서버 HA (High Availability) (2)
http://lab.gamecodi.com/board/zboard.php?id=GAMECODILAB_Lecture_series&page=1&sn1=&divpage=1&sn=off&ss=on&sc=on&select_arrange=headnum&desc=asc&no=42


http://gpgstudy.com/forum/viewtopic.php?topic=25089
메인쓰레드에서 모든 로직을 담당합니다.
클라이언트도 엔피씨와 마찬가지로 로직을 업데이트해줘야 겠지요 그래서 클라이언트도 엔피씨와 동일하게 업데이트 처리를 해줍니다. 하지만 엔피씨와는 틀리게 클라이언트는 업데이트시 워크쓰레드에서 받아온 패킷들을 일괄 처리해주겠지요. ( 워커쓰레드에서는 패킷을 받아서 풀링만 하고 메인쓰레드에서 클라이언트 객체 업데이트시 받아온 패킷들을 처리합니다. )

메인쓰레드에서 많은 부분의 일을 하는것이 고전적이긴 하지만 안정성 및 동기화 부분에서는 이점이 훨씬 많지요. 현재 제가 사용하고 있는 쓰레드는 "네트웍 워크 쓰레드, 패킷 압축 및 전달 쓰레드, 메인 쓰레드, 엔피씨 길찾기 쓰레드, 로그 쓰레드, 디비 워크 쓰레드" 이정도로 나눠지네요.

ps. 고전적인 방식이긴 하나 현재 쿼드코어에서 테스트해본 결과 나름 CPU를 잘활용하고 있더군요. 메인 쓰레드를 얼마나 효율적으로 잘사용하느냐가 메인 스레드 분리보다는 작업 하기가 수월하실 겁니다.

싱글톤을 이용한 네트워크 관리 패턴
http://www.hanbit.co.kr/network/view.html?bi_id=1006

싱글톤과 멀티스레드
http://blog.daum.net/_blog/BlogTypeView.do?blogid=0bfIC&articleno=167&categoryId=16&regdt=20140110183011

KGC2010 김항기 시나리오 기반 온라인 게임 서버 부하 테스트 기술
http://www.slideshare.net/augustusminu/kgc2010-8209559





【Job Description】
- Transactional Storage Engine/Query Processor 개발
- Main-memory DBMS 개발
- Replication, Paxos, 2PC 등의 분산 처리 기술 연구 및 개발
- Distributed lock, coordination, algorithm 및 DHT 연구
- Fault-tolerance:adaptable failure detection, failover, failback 기술 연구
- Cloud management 기술 연구 및 개발
- 기존 elastic & distributed noSQL expert
- Load distribution (sharding), data migration, elasticity
- 대용량 데이터 처리 및 분석 시스템, 실시간 데이터 처리 시스템 연구 및 개발
- Embedded distributed coordination 개발 (doozer, zab, corosync, etc)
- Large-scale pubsub 개발

댓글 없음 :

댓글 쓰기