[Server] 게임 서버 아키텍처 종류
Host, Client, Server
● Host : 네트워크 내에서 다른 장치나 사용자에게 자원(Resource)이나 서비스를
제공하는 컴퓨터 시스템이나 장치
예) 스팀 멀티 게임할 때, '내가 방 팔게!' = Host
● Client : 서비스를 이용하는 사용자 혹은 사용자의 단말기
→ Server에 요청(Request)를 하는 것
예) 게임 방 좀 만들어줘, 참가할게!
● Server : 네트워크를 통해 Client로부터 요청받은 데이터를 찾아서 넘겨주는 시스템 or 장치
→ Client가 요청한 데이터를 보내주는(Response) 것
예) Server야 Host가 방을 만든댄다!
게임 서버 아키텍처 종류
● Client-Server (클라이언트-서버)

- 서버와 클라이언트 사이에서만 데이터 교환
- 클라이언트는 그래픽 및 간단한 연산만 처리하고 그 외 모든 것들은 서버에서 처리
- 확장성과 유지보수는 어렵다.
● Dedicated Server (전용 서버)
- Dedicated : 전용의, 헌신적인
- 서버의 모든 자원이 온전히 네트워크 서비스를 유지하는 데 사용되며, 서버가 플레이어로서
게임을 직접 참가하지 않는 형태
- 게임 회사가 관리하는 전용 서버를 이용하여 게임 세션을 호스팅하는 방식도 있다.
- 높은 대역폭과 최적의 네트워크 환경을 제공하기 때문에 지연 시간(Latency)를 최소화
- FPS 장르 게임에서 많이 사용된다. (고전FPS 서...든어택!)

● 분산 서버 아키텍처

- 각 서버마다 역할을 지정하고 그 서버들을 서로 연결하여 하나의 시스템으로 구성하는 방식
- 대규모 클라이언트 접속이 이루어질 때 유리하다.
- 시스템의 가용성과 확장성이 좋다.
● P2P 아키텍처 (Peer-to-Peer)

- 인터넷에 연결된 다수의 클라이언트들이 중개 기관을 거치지 않고 직접 데이터를 주고 받는 것
- 중앙이나 중심이 없으며, P2P에 있는 모든 클라이언트들은 서로 평등함