inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

분산 서버 구조에 대해서 질문있습니다 !

214

An Jungmo

작성한 질문수 9

0

Session #3 를 공부하면서 서버에서 다른 서버로 Connection 을 실행하는 경우에 대해서 말씀하셨는데, 번외 이야기지만 갑자기 궁금해서 질문 드립니다.

만약 서버가 10개 있다고 했을때
HUB 처럼 연결고리 역할을 담당하는 서버 1개와 컨텐츠 서버 10개로 구조를 잡아서
HUB 서버가 클라에서 보내는 패킷을 특정 정보값에 따라 원하는 서버에 정보를 대신 보내주는 구조로 분산처리 구조를 잡는 경우가 있을까요 ?

아니면 클라에서 서버1로 접속하면 서버1과 연결을 유지하고 서버2로 접속할시 다시 서버2와 연결을 유지하는 방식으로 분산처리 하나요 ?

MMORPG windows-server network

답변 1

1

Rookiss

양쪽이 다 존재합니다.

HUB 서버가 클라에서 보내는 패킷을 특정 정보값에 따라 원하는 서버에 정보를 대신 보내주는 구조로 분산처리 구조를 잡는 경우가 있을까요 ?

테라의 던전, 전장 서버가 이런 구조입니다.
각기 다른 서버 유저들끼리 매칭이 될 수 있는데,
원래 소속 서버 쪽에서 던전, 전장 서버 쪽으로
패킷을 전달하는 구조로 되어 있습니다.

아니면 클라에서 서버1로 접속하면 서버1과 연결을 유지하고 서버2로 접속할시 다시 서버2와 연결을 유지하는 방식으로 분산처리 하나요 ?

 

이런 구조도 있습니다.
블소 계열 서버가 이런 방식이고 다른 영역에 갈 때 아예 다른 머신에 붙습니다.

 

0

An Jungmo

오.. 상세한 설명 감사합니다.
아직 공부가 완료되지 않아서 질문이 너무 앞서는것 아닌가 싶기도 한데
추가적으로 서버에서 처리하는 컨텐츠들을 보통 어떤 구조로 분산해서 처리하는지 궁금합니다.

로그인, 위치등 동기화, 채팅, 친구시스템, 탈것, NPC 등 예시로 든다면 이 모든것을 한 서버에서 처리하진 않고 분산을 시킬텐데 상황과 게임(컨텐츠)에 따라 다 다르겠지만 그래도 일반적으로 어떤식으로 구조를 잡고, 어떤부분은 분리시키는지 궁금합니다 !

0

Rookiss

로그인 서버는 웹서버 방식이라 무조건 게임서버와 별도로 빠져 있구요.
그 외 컨텐츠는 보통 단일 서버로 가는 경우가 많지만,
예외적으로 NPC 서버만 따로 빼는 경우도 더러 있습니다. (리니지1, 아키에이지 등)
DB 쪽을 관리하는 서버 (캐시 서버)를 따로 빼는 경우도 있고
컨텐츠와 통으로 가는 경우도 있고 프로젝트마다 조금씩 다릅니다.

writeLock을 잡을때 꼭 empty 상태여야하는 이유?

0

63

2

Memory Pool에서 오버플로우 질문입니다.

0

94

2

포토폴리오 및 진로 관련하여 고민입니다.

0

172

1

포토폴리오 관련 고민입니다.

0

91

1

실무에서도 alloc, 스마트포인터 등을 구현해서 쓰는지 궁금합니다.

0

107

2

성능 테스트 결과

0

117

2

게임 서버 Stateful, Stateless 진로 고민

0

147

1

WaitOnAddress와 Sleep의 차이 질문

0

98

1

궁금한거 있습니다.

0

92

2

JobTimer 구동 스레드

0

116

2

TryPop() 동작 관련 질문

0

86

1

로드맵 C#서버 C++서버 방향성 질문

0

162

2

스레드 id를 출력할떄 메인스레드 id도 출력되나요?

0

81

1

생명주기를 위한 의도적 복사

0

94

2

락프리의 실무에서 사용 질문

0

154

2

32bit threadID와 16비트 상위 WriteFlag에 대해

0

109

2

mutex와 sleep 차이점

0

133

1

실무에서는 어떠한 코드 스타일을 사용하는지 궁금합니다

0

167

2

Stomp Allocator의 Release함수에 대한 질문입니다.

0

102

1

공부법 관련해서

0

190

2

MakeShared 함수 관련

0

119

1

지금까지 서버코어에서 만든 내용에 대해 궁금한 점이 있어서 질문 드립니다.

0

152

2

운영체제관련 질문입니다

0

144

1

send하려는 데이터 크기가 크면 memcpy에서 문제가 발생할 것 같습니다.

0

125

2