[Infra] 서버란 무엇일까, 초간단 서버 개념

업데이트:

서버란 무엇일까, 초간단 서버 개념

1. 홈페이지 화면을 보여주는 서버

우리는 하루에도 몇 번씩 인터넷 뉴스를 확인하고, 유튜브 동영상을 봅니다. 수많은 사용자들은 어떻게 원하는 홈페이지, 동영상을 볼 수 있는 걸까요? 홈페이지, 동영상을 보여달라는 요청을 들어주는 사람이 있는 걸까요? 바로 서버가 사용자의 수많은 요청을 들어줍니다. 요청과 응답을 기반으로 하는 인터넷 서비스에서는 서버가 아주 중요합니다. 사실 서버는 일상에서 흔히(?) 사용하는 용어이지만 눈에 보이지 않기 때문에 개념을 혼동하시는 분들도 계십니다. 오늘은 저와 함께 서버에 대해 알아보아요.

figure01

위 그림은 우리가 홈페이지에 접속하는 과정입니다. 가장 먼저 사용자는 크롬이나 인터넷익스플로러와 같은 웹브라우저에서 홈페이지 주소를 입력합니다. 여러분이 홈페이지 주소를 입력하고 엔터를 치는 순간, 해당 홈페이지 담당 서버에게 요청이 갑니다. 여기서 요청이란 사용자가 홈페이지 화면을 보여달라는 요청이죠. 서버는 여러분의 요청을 받고, 해당 홈페이지 화면을 보여줍니다. 위 그림에서 1번이 요청, 2번이 응답입니다.

figure03

인터넷을 하다보면 위와 같은 에러를 가끔 보게 되는데요. 위 에러는 1.사용자의 요청, 2.서버의 응답 중 어느 단계에서 발생하는 에러일까요? 답은 2.서버의 응답입니다. 404에러의 뜻은 사용자의 요청을 받고 서버가 사용자에게 보여줄 홈페이지를 찾아봤는데 서버내에 없다는 뜻입니다.

2. 스트리밍 동영상을 보여주는 서버

예전에는 인터넷으로 홈페이지를 많이 사용했지만 요즘에는 실시간 동영상 스트리밍 서비스가 인기입니다. 그렇다면 우리가 스트리밍 방송을 볼 때는 어떤 일이 일어날까요?

figure02

홈페이지를 보는 것이나 동영상을 보는 것이나 기본적인 원리는 같습니다. 스트리머는 서버에게 방송 송출을 ‘요청’하고, 시청자는 서버에 실시간 스트리밍 동영상을 ‘요청’하며, 서버는 시청자가 원하는 동영상을 보여줌으로써 ‘응답’합니다. 위의 홈페이지 같은 경우, 화면을 한번만 보내주면 끝이지만, 동영상의 경우에는 실시간으로 계속 화면이 바뀌므로 홈페이지를 사용할때보다 서버의 과부하가 심합니다. 그렇다면 동영상이 끊기는 경우 위 그림에서 1, 2, 3 중 어느 단계에 문제가 있는 것일까요? 정답은 3번입니다. 1, 2 처럼 홈페이지에 ‘요청’하는 과정에서 에러가 나는 경우는 거의 없습니다. 한 사람이 여러 가지 일을 동시에 하면 힘든 것 처럼, 서버도 수 많은 시청자들에게 동영상을 전송하는데 상당한 부하가 걸리므로 영상이 끊기거나 서비스 장애가 발생하는 경우는 대부분 서버 문제일 가능성이 높습니다.

3. 게이트웨어(gateway) 서버 의미

저는 어렸을 때 스타크래프트라는 게임을 하면서 처음으로 게이트웨이라는 말을 들었습니다. 테란은 병력을 ‘생산’하고, 저그는 에그에서 ‘부화’하는데 반해, 프로토스는 멀리 있는 아이어행성으로부터 유닛을 ‘소환’합니다. 그리고 이 유닛을 소환하는데 쓰이는 출입구로서 게이트웨이가 사용됩니다.

네트워크에서도 마찬가지 입니다. 물리적으로 멀리 떨어져있는 장비끼리 서로 통신하기 위한 중간 출입구가 게이트웨이에 해당합니다.