- Overview

 웹 서비스의 성장은 무서울 기세로 상승 중입니다. Client의 Local 에서 저장하던 Data들은 점점 서버로 올라오면서 자연스레 Web 서버와 교류가 많아지고 있습니다. 예를 들면 저희가 자주 사용하는 Naver App, You tube 등의 앱들은 Web app으로 전부 웹서비스 기반의 어플리케이션입니다. 또한 동영상들과 같은 Contents들도 Web Service로 User들과 많은 교류를 하고 있는 추세입니다. 

 웹서비스에 접근할 수 있는 Device들은 스마트폰, 데스크탑, 노트북, 타블렛, 2 in 1 notebook 등 수많은 Device들이 있습니다. 이러한 Device들의 웹 접근을 과거에는 중앙 Server 하나가 전부 전담하였습니다. 하지만 점점 Main Server의 부하가 오게 되었고 많은 기업들은 공통된 Solution을 찾게되었는데요. 그것이 바로 프록시서버를 이용한 웹 캐싱 서비스입니다. 그러면 웹 캐싱 서비스를 알아보기 앞서 프록시 서버에 대해서 알아보도록 하겠습니다.



이미 프록시서버를 알고 계신다면 내려가셔서 웹 캐싱 서비스 부분부터 보셔도 무관합니다.


 - 프록시 서버?

요약하면 다음과 같습니다.

1. PC와 외부인터넷 사이의 중개자 역할을 합니다.

2. 외부 인터넷의 내부침입을 막는 방화벽역할도합니다.

3. 프록시 서버는 캐시 기능을 가지고있습니다. 그래서 웹 캐싱서비스에서 프록시서버가 자주언급되고있습니다.



이번 포스팅에서 볼 웹 캐싱서비스에 쓰이는 프록시 서버 역할에대해 간단히 살펴보면 다음과 같습니다.

=> 프록시 서버는 클라이언트가 앞서 요청했던 웹페이지를 다시한번 요청하면, 프록시 서버는  캐싱 되었던 페이지를 즉각적으로 클라이언트에게 주기때문에 빠른 반응성을 가지게 됩니다. 

 프록시 서버는 대개 조직(회사) 네트워크에 사용됩니다. 집에서 인터넷을 사용할때는 프록시서버를 사용하지않습니다. 



프록시 서버의 종류

1 Caching Proxy Server

클라이언트의 요청 내용과 응답 컨텐츠를 저장해 두었다가 동일한 요청이 들어오면 저장된 컨텐츠를 전송합니다.


2 Web Proxy

WWW 트래픽에 초점이 맞춰진 프록시 서버입니다. 웹 프록시의 가장 일반적 형태는 웹 캐시입니다.


3 Forward Proxy

일반적으로 사용하는 프록시입니다. 클라이언트와 웹서버 사이에 위치하여 클라이언트가 타켓인 서버에 서비스 요청을하면,

프록시 서버로 요청이 갑니다. 그러면 프록시 서버가 해당 서비스 서버 타켓으로 요청을 중계합니다.


.



점점 웹서버가 Clients에게 제공하는 Data가 기하급수적으로 커지고있습니다. 이는 웹서버의 부담을 의미하게됩니다. 결국 다양한 접근성으로 인해 웹서버는 부하가 가게 되고 client에게 제공하는 속도가 느려지는 등 퀄리티가 낮아지게되는 문제가 생기게 됩니다. 이럴 해결하고자 웹 캐싱 시스템을 구성하게 됩니다.


웹 캐싱 서비스란, 다양한 컨텐츠들을 별도로 다른 웹서버에 저장해두고있다가 사용자의 웹브라우저에 가장 가까운 웹서버에 해당 웹서비스의 컨텐츠를 사용할 수 있게 만드는 기술입니다. 

캐싱이라는 기술자체가 데이터를 임시로 저장해두고있다가 필요할때 갖다 쓰게 만드는 기술입니다. 컴퓨터 과학 알고리즘에서도 캐시 기법이 많이 나오기도 합니다.  어쨌든, 캐싱된 컨텐츠들을 사용자가 빠르게 쓸수있도록 제공하는 서비스이며, 메인 웹 서버의 접속 부하를 줄여주는 서비스여서 퀄리티를 높이는 방법입니다.



앞에 프록시 서버에 대해 제가 설명하였습니다. 이런 웹 캐싱 기술은 이미 프록시 시스템에서 적용되고 있습니다. 왜 웹 캐싱 시스템에 프록시 서버가 많이 사용되냐하면, 프록시 서버가 간단한 웹서버 기능을 갖추고 있기 때문입니다. 시스템 규모가 작고 커스터마이징이 용이하며 유지보수가 용이한 프록시 서버가 웹 캐싱 시스템에서 웹 캐싱 서버로 이용되고있습니다.


보통 웹 캐싱을 사용한다면, 웹서비스이 메인이 되는 프로그램은 메인 웹서버가 그대로 제공합니다. 용량이 큰 미디어 컨텐츠(음악, 영상등)들은 웹 캐싱 시스템을 이용해서 제공됩니다. 


변경이 자주 일어나는 텍스트 위주 컨텐츠는 메인 웹서버가 저장하고 제공합니다. 자주 변한다는것은 그만큼 유저에게 제공하는 기능도 다양해야할텐데 프록시서버는 그렇지는 못하기때문에 메인이 처리하기 적합한것입니다.

변경이 자주 읺어나지 않고 덩치가 큰 동영상, 사진, 음악, 그림 등의 미디어 파일들은 웹 캐싱 서버에 저장해서 제공합니다. 웹캐싱 서버들은 주기적으로 메인 웹 서버와 통신하고 저장된 내용들을 최신내용으로 갱신합니다. 그래야 사용자들이 정확한 웹서비스의 내용을 받아볼 수 있기 때문입니다.


심지어 프록시 서버는 구축이 용이하고 저렴하기 때문에 웹 캐싱 시스템에 많이 쓰이는 편입니다. 



정리

대규모의 웹서비스를 제공하는 업체들은 점점 웹 캐싱 서비스를 많이 사용하고 있는 추세입니다. 우리나라 네이버, 미국의 구글등이 그렇죠.

웹 캐싱서비스에 대한 수요가 증가하면서 자연스레 프록시 서버가 점점 진보적으로 발전하고있습니다. 이제는 프록시서버의 기술이 결코 과소평가 받지않게 되고있습니다. 

+ Recent posts