표제지
목차
I. 서론 8
1. 연구의 필요성 8
2. 연구의 목적 및 방법 9
II. 온라인 게임 서버와 고가용성 시스템의 개요 10
1. 온라인 게임 시스템 10
1) 온라인 게임 시스템의 구조 10
(1) 중앙 집중식 게임 서버 구조 11
(2) 분산 게임 서버 구조 12
(3) 지역 분할 게임 서버 구조 13
2) 게임 서버 제작 시 고려 사항 13
(1) 대역폭(Bandwidth) 14
(2) 지연성(Latency) 14
(3) 확장성 14
(4) 이동성 15
3) 분산 게임 서버 동향 15
2. 고가용성 시스템 17
1) 고가용성 시스템 17
2) 서비스 중단의 요인과 SPOF (Single Point Of Failure) 장애 18
3. Heartbeat 이해 20
1) 기본 기능 20
2) 메시지 유형 및 교환방식 22
(1) 메시지 유형 22
(2) 메시지 교환 방식 22
(3) 장애 발견 heartbeat 메커니즘 23
4. Cube 게임 이해 25
III. Heartbeat을 활용한 고가용성(High Availability) 보장 온라인 게임 서버 구현 27
1. 온라인 게임 서버 설계 및 구현 27
1) 구현 시스템 구조 27
2) 시스템 구성 28
(1) 운영체제 설치 28
(2) 시스템 구성 29
(3) 네트워크 설정 30
(4) Host 정보 설정 31
3) 게임 서버 설정 34
(1) Cube2 엔진 34
(2) Cube 게임 서버 설치 및 실행 35
2. 고가용성 보장을 위한 Heartbeat 알고리즘 구현 37
1) 고가용성 시스템 구현을 위한 소프트웨어 구성 37
(1) 고가용성 시스템 구현을 위한 필요 소프트웨어 설정 37
(2) 고가용성 시스템 설정 확인 45
3. Cube 게임 서버에 Heartbeat 적용 시 장점 46
IV. 고가용성 온라인 게임 서버 평가 47
1. 고가용성 온라인 게임 서버 평가 47
1) Master 서버에서 Fail이 일어날 수 있는 상황 47
2) 구현 시스템 Failover 시간 측정 47
3) 구현된 시스템에 대한 자체 평가 48
2. 개선할 사항 49
V. 결론 50
1. 연구의 제한점 및 향후 연구 계획 50
참고문헌 53
Abstract 55
표-1 연구 진행 방법의 도식화 9
표-2 서버 분산 기술의 분류 16
표-3 Heartbeat 메시지의 유형 22
표-4 Cube 게임 아이템 분류(cubeengine.com 참고) 26
표-5 Cube Engine Detail Features(devmaster.net 참고) 26
표-6 구현 시스템 규격 28
표-7 Node 구성표 29
표-8 GameSV01. KNU-GD. TS 네트워크 설정 30
표-9 GameSV02. KNU-GD. TS 네트워크 설정 30
표-10 GameDB. KNU-GD. TS의 eth0 네트워크 설정 31
표-11 GameDB. KNU-GD. TS의 eth1 네트워크 설정 31
표-12 GameSV01, SV02의 Host 정보 설정 32
표-13 GameSV01의 network 정보 설정 32
표-14 GameSV02의 network 정보 설정 32
표-15 GameSV01. KNU-GD. TS의 가상 주소 설정 33
표-16 /etc/sysctl. conf 설정 파일 34
표-17 Cube 소스 파일들 35
표-18 Cube 게임 서버 실행 화면 36
표-19 Heartbeat 패키지 설치 화면 41
표-20 Heartbeat 패키지 설정 42
표-21 Mon 패키지 설치 화면 43
표-22 Mon 패키지 설정 44
표-23 lvs 스크립트 설정 45
표-24 서비스 대체 평균 시간 측정 47
표-25 가용성 측정(자료출처 : Blueprints for High Availability) 48
그림-1 온라인 게임 시스템의 기본 구성 10
그림-2 중앙 집중식 게임 서버 구조(단일게임서버구조) 11
그림-3 분산 게임 서버 구조 12
그림-4 지역 분할 서버 13
그림-5 3계층 클라이언트-서버 모델 16
그림-6 고가용성 시스템의 예시 18
그림-7 갑작스런 서비스 중단의 원인 19
그림-8 Hear tbeat 기술 예시 21
그림-9 노드간 메시지 교환 방식 23
그림-10 장애발견 Hear tbeat 메커니즘 24
그림-11 Cube 게임 스크린샷 25
그림-12 구현 시스템 상세 구현도 27
그림-13 운영체제 설치 화면 29
그림-14 Cube 게임 환경 스크린샷 35
그림-15 Hear tbeat 시스템 연결도 37
그림-16 Mon 시스템 프로세스 구성 38
그림-17 Fake 실행 과정 순서도 40