WAS와 WEB 서버의 차이 두번째 파트 입니다.

웹 개발자라면 흔히들 생각해보았을 법 했던 근본적인 ?? 질문

열심히 구글선생님에게 질문은 한 결과 한 사이트의 내용을 그대로 인용해보고자 한다


WAS 앞에 웹 서버를 두는 이유는 무엇인가

라고 물어보면 대부분 정적인 데이터를 처리하기 위하여 웹 서버를 둔다고 설명하는 경우가 많다.

그런데 이해 안가는 부분이 있다. 웹 서버가 꼭 정적인 처리만 하는 것은 아니지 않은가?
CGI를 사용하거나 PHP 등을 사용하면 동저인 처리를 하지 않는가? 그렇다면, 웹 서버 앞에 또 정적인
처리를 하는 웹 서버를 또 둬야 하는가? 하는 것이다.

그러던 중 아래와 같은 글을 발견하였다.
http://toby.epril.com/?p=1125

토비님의 블로그에 있는 글이다. 톰캣의 5.5부터는 아파치 웹 서버의 모듈을 그대로 사용하기 때문에 톰캣의
임베디드한 웹서버 부분이 아파치의 그것과 성능이 유사하다는 것이다.
즉, 정적인 데이터 처리 때문에 톰캣을 둘 필요가 없다는 것이다.

다만, 위의 링크의 글을 보고 오해를 할 것 같아 추가적인 내용을 덧붙인다면 컴퓨터가 한대라면
웹 서버를 톰캣 앞에 붙일 필요가 없다는 의미일 것이다. 물론 PHP나 CGI를 사용할 일도 없다는 전제가
붙어야 할 것이다.

그러나 컴퓨터가 2대 이상이고 각각의 컴퓨터에 웹 서버와 톰캣을 설치한다면 웹 어플리케이션의 부하가
어디에 많이 가느냐에 따라서 웹 서버의 컴퓨터를 좀 더 좋은 것을 사용해야 할지, 톰캣을 좀 더 좋은 것을
사용해야 할지 결정되야 할 것이다.

만약 이미지를 많이 보여주는 일을 많이 하는 갤러리사이트를 만들고 컴퓨터가 2대 이상으로 배치한다면,
톰캣에게 온전히 동적인 처리만 맡기고 앞단의 웹 서버가 정적인 처리를 하는 것이 부하 분산면에서는
좋은 선택이라는 생각이 든다. 그런 면에서 보면 WAS 앞에 웹 서버를 두는 이유는 정적인 처리를 하기 위하여
 
근래 들어 인터넷에 자주 사용되는 말로 케바케라는 말이 있다.
Case By Case를 한글로 줄여서 하는 말인데, WAS 앞에 웹 서버를 두는 이유가 무엇이냐고 물어본다면
케바케라고 말하고 싶다.

웹 서버가 발달하면서 다양한 모듈이 함께 사용된다. 웹 서버의 다양한 모듈 중에서 특정 모듈이 사용되어져야
하는 상황이라면 웹 서버를 사용해야 할 것이다. 웹 서버와 연관된 기능이 필요없다면 WAS만 사용해도 될 것이다.
다만, 정적인 데이터와 동적인 처리를 분리하고 싶다면 웹 서버와 WAS를 사용하면 될 것이다.
이때 정적인 데이터 처리량과 동적인 데이터 처리량이 어느정도인지 예상할 수도 있어야 할 것이다.

'스터디' 카테고리의 다른 글

Modern Java-자바8 공부  (0) 2016.11.24
WAS 와 WEB 서버의 차이 -1  (2) 2016.11.23

+ Recent posts