IT/Server

[Server] 게임 서버 아키텍처 종류

wakelight23 2025. 1. 24. 20:43

Host, Client, Server

● Host : 네트워크 내에서 다른 장치나 사용자에게 자원(Resource)이나 서비스를
             제공하는 컴퓨터 시스템이나 장치

             예) 스팀 멀티 게임할 때, '내가 방 팔게!' = Host

 

● Client : 서비스를 이용하는 사용자 혹은 사용자의 단말기

               → Server에 요청(Request)를 하는 것

             예) 게임 방 좀 만들어줘, 참가할게!

 

● Server : 네트워크를 통해 Client로부터 요청받은 데이터를 찾아서 넘겨주는 시스템 or 장치

              → Client가 요청한 데이터를 보내주는(Response) 것

             예) Server야 Host가 방을 만든댄다!

 

게임 서버 아키텍처 종류

Client-Server (클라이언트-서버)

 

그야 말로 주고 받고

  - 서버와 클라이언트 사이에서만 데이터 교환

  - 클라이언트는 그래픽 및 간단한 연산만 처리하고 그 외 모든 것들은 서버에서 처리

  - 확장성과 유지보수는 어렵다.

 

 

● Dedicated Server (전용 서버)

  - Dedicated : 전용의, 헌신적인

  - 서버의 모든 자원이 온전히 네트워크 서비스를 유지하는 데 사용되며, 서버가 플레이어로서
    게임을 직접 참가하지 않는 형태
  - 게임 회사가 관리하는 전용 서버를 이용하여 게임 세션을 호스팅하는 방식도 있다.

  - 높은 대역폭과 최적의 네트워크 환경을 제공하기 때문에 지연 시간(Latency)를 최소화

  - FPS 장르 게임에서 많이 사용된다. (고전FPS 서...든어택!)

게임 회사가 서버를 담당해주면 누구든 환경만 된다면 Host 역할이 가능하다!

 

 

● 분산 서버 아키텍처

그야 말로 서버를 분리해서 관리하는 것

  - 각 서버마다 역할을 지정하고 그 서버들을 서로 연결하여 하나의 시스템으로 구성하는 방식

  - 대규모 클라이언트 접속이 이루어질 때 유리하다.

  - 시스템의 가용성과 확장성이 좋다.

 

● P2P 아키텍처 (Peer-to-Peer)

Peer : 동료

  - 인터넷에 연결된 다수의 클라이언트들이 중개 기관을 거치지 않고 직접 데이터를 주고 받는 것

  - 중앙이나 중심이 없으며, P2P에 있는 모든 클라이언트들은 서로 평등함