• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

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

21.11.15 13:45 작성 조회수 115

0

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

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

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

답변 1

답변을 작성해보세요.

1

양쪽이 다 존재합니다.

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

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

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

 

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

 

An Jungmo님의 프로필

An Jungmo

질문자

2021.11.15

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

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

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