1. 컴퓨터 세계에서 서버와 클라이언트는 무엇인가?

2. 웹 어플리케이션 서버와 게임 서버의 공통점과 차이점은 무엇인가?

 

 

 

 

1. 서버와 클라이언트

서버란?

특정한 서비스를 제공하는 '서비스 제공자'의 역할로, 클라이언트로부터 요청받은 내용을 처리하고,

결과를 다시 클라이언트에게 전달해주는 역할을 합니다.

 

흔히 생각하는 서버의 모습

서버는, 수많은 서버용 컴퓨터로 이루어진 집합체가 될 수도 있고,

그저 하나의 컴퓨터로 이루어 질 수도 있습니다.

심지어, 가정용 컴퓨터 또한 서버가 될 수도 있습니다.

 

 

 

클라이언트?

클라이언트는 말 그대로 '사용자' 에 입장에 있는 역할로, 서버에 데이터를 요청하여 데이터를 받아오거나,

서버에 데이터를 저장하거나 하는 데이터의 사용자 입니다.

 

이 둘의 관계는 대표적으로 음식점으로 설명하는 경우가 많은데,

저는 도서관으로 설명되는게 좀 더 좋을것이라 생각됩니다.

 

도서관에는 수많은 책이 있고, 그걸 관리하는 직원(사서) 그리고 책을 빌리러 온 사람이 있을겁니다.

 

일반적으로 봤을 때,

책을 빌리러 온 사람 = 클라이언트

도서관의 수많은 책 = 서버

그리고 직원 = 네트워크 라고 할 수 있습니다.

 

책을 빌리러 온 사람은, 직원을 통해 자신이 필요한 책(정보)를 요청하게 되고,

네트워크는 그 요청받은 책을 도서관 내에서 찾아올 것입니다.

여기서 네트워크는, 클라이언트와 서버간에 필요한 정보를 전달해주는 수단이 됩니다.

 

 

 

2. 웹 어플리케이션 서버와 게임 서버

 

웹 어플리케이션 서버란, WAS (Web Application Server) 라고도 하며,

서버내에 있는 다양한 알고리즘, 비즈니스 로직, DB 조회 등 클라이언트 요청에 따라

동적인 컨텐츠를 제공하는 서버를 말합니다.

 

웹 서버와 웹 어플리케이션 서버?

WS(Web Server) 는, HTTP 요청을 받아 Static contents 

즉, 정적인 컨텐츠를 WAS를 거치지 않고 즉시 제공하는 서버입니다. 동적인 Contents 는 WAS 에게 넘기고,

정적 콘텐츠를 가능한 빠르게 제공하는 역할을 합니다.

WS 와 WAS 빠른 정보 처리를 위해, 비 동기적으로 정보를 처리하기 위해 분리되었다고 할 수 있습니다.

 

 

게임 서버도 위에서 설명한 것처럼, 클라이언트(들) 과 정보를 주고받는 역할을 하는 서버입니다.

웹 서버도, 게임 서버도 클라이언트가 요청한 정보를 서버가 처리하며 원하는 데이터를 돌려주는

역할을 하는 것입니다.

 

그렇다면 웹 서버와 게임 서버는 어떤점이 다를까?

 

웹서버와 게임서버의 가장 큰 차이점은,

실시간 ! 한마디로 표현 할 수 있을것 같습니다.

 

일반적으로 웹 서버는, 클라이언트가 정보를 요청한 것을 건네주고 다면, 다음 요청이 있을 때 까지

따로 클라이언트와 소통하는 것이 없습니다... 대부분은 말이죠.

 

실제로, 웹 서핑을 하는 도중에 인터넷이 끊겨버리더라도, 현재 보여지는 페이지 (이미 받아온 데이터) 는 

다른 요청을 하기 전 까지는 별 문제없이 작동하는것 처럼 보입니다.

 

하지만, 게임서버는 웹 서버와 다르게 많은 데이터들이 실시간으로 반영되어야 하기 때문에,

클라이언트가 요청을 지시하지 않아도 수많은 데이터를 서버로부터 받아오고, 또 보내줘야 합니다.

 

이 부분 또한 게임 서버와 웹 서버의 대표적인 차이점이라고 생각합니다.

클라이언트가 직접 요청하지 않아도 클라이언트와 서버간에는 수많은 데이터가 계속적으로 오가야 합니다.

 

정리하자면,

 

공통점

웹 서버와 게임 서버 모두 클라이언트의 요청을 서버가 받아 데이터를 저장하거나, 

보내줘야할 데이터를 클라이언트에게 보내주는 역할!

 

차이점

1. 웹 서버는 데이터의 생산성과 확장성에 중점에 둔다.

2. 게임 서버는 데이터의 변화량과 응답속도를 중점에 둔다.

3. 게임 서버는 클라이언트가 전송한 데이터 (패킷)에 서버가 반드시 응답을 보낼 필요는 없다.

4. 좀 더 쉽게 말하자면, 웹 서버는 말그대로 웹 페이지를 위한 서버로 발전되었고,

    게임 서버는 게임을 위한 서버로 발전한 것이라고 할 수 있다 !

 

 

특이사항

자료를 조사하며 알게된 내용 중, 게임서버에 웹 서버를 사용할 수 있다는것을 알게됐습니다.

즉, 게임 내에서 실시간, 동적인 움직임이 필요하지 않는 게임의 일부분, 혹은 전체가

웹서버로 구성될 수 있다는 사실입니다. 예를 들면 하루에 한번 갱신되는 유저 랭킹 이라던가,

뭐 길드 순위 같은 데이터에는 웹 서버를 사용한다던가,

또는 실시간으로 진행되지 않은 게임 (특히 모바일)이 웹 서버를 사용한다고 합니다.

 

웹 서버가 가지는 강점과 게임(MMORPG의) 서버의 강점을 잘 알고, 

목적에 맞게 필요한 서버를 사용하는것이 중요한 것 같습니다.

 

 

 

+ Recent posts