apache + tomcat 연동 하는 이유는 무엇일까

아파치 웹 서버와 톰캣을 연동하기에 앞서 연동함으로써 얻는 이점은 무엇인지,

어떤 원리로 연동하게 되는지 알아보려합니다.

아파치와 톰캣을 연동하는 이유로 널리 알려진 바는 아래와 같습니다.

1. 톰캣은 정적인 페이지를 로드하기에 아파치 보다 느린 처리속도를 보인다.

2. 톰캣은 설정할 수 있는 내용들이 아파치에 비해 부족하다.

3. 톰캣은 아파치보다 부하에 약하다.

4. 톰캣만으로는 서블릿/JSP밖에 서비스할 수 없다.

5. 톰캣과 아파치를 연동하여 부하분담이 가능하다.(다수의 톰캣 구성으로의 로드밸런싱의 의미가 아닌 톰캣만으로 처리가능한 static page를 apache에서 대신함으로써의 부하 분담)

통상적으로 많은 사람분들이 말하시는 연동이유는 1번과 5번이 많은 것 같습니다.

톰캣으로 작업이 가능하지만, apache를 연동하여 static page의 처리를 분담하여 처리한다.

하지만 이에 대해서 인용되는 글이 있습니다.

톰캣과 아파치의 연동이 위와 같은 이유에서는 불필요하다는 요지의 글인데 아래 링크에서 확인 가능합니다.

http://www.tomcatexpert.com/blog/2010/03/24/myth-or-truth-one-should-always-use-apache-httpd-front-apache-tomcat-improve-perform

정리하면 톰캣 5.5이상에서 httpd의 native 모듈로 static page를 처리하므로 1번과 5번은 큰 의미가 없다는 것입니다.

즉 단순히 속도의 문제(1번)라면 (톰캣 5.5 이하의 버전일 경우를 제외할 때) 둘을 연동할 필요는 없습니다.
5번째 부하분담의 문제에는 1번의 경우와는 약간 다른데, 이 경우는 static page를 tomcat이 직접 처리하여 생기는 부하와 apache에서 대신처리하기 위해 앞쪽에 아파치를 놓음으로써 생기는 작업 분산에 대한 부하를 비교해봐야 할 것입니다.
(5번에 대해서는 정적인 페이지에 대한 처리로 인한 부하 감소 효과가 있을 것으로 생각합니다.)

5번의 경우 정확한 성능비교를 할 수 는 없었지만, 여러 정보를 종합해 볼때, staitc page의 처리 속도와 부하, 불안정성으로 인한 연동은 tomcat의 성능개선으로 인해 의미가 많이 줄어든 것 같습니다.

그렇다면 남은 이유는 2번과 4번입니다.

아파치의 다양한 옵션들(mod_security, mod_rewrite , 로드밸런싱등의 여러가지 모듈)을 사용할 수 있다는 점과, 다른 서버사이드 애플리케이션을 사용할 수 있다는 것이 큰 이점입니다.

예를 들어, apache와 tomcat으로 구축한 웹사이트 (html , css , jsp등)에서 보안모듈이나 , 리다이렉션 기능을 추가하는것은 간단한 일이며, 갑자기 php페이지가 추가되어야 한다고 해도, 이미 안정화된 사이트에서 추가로 php를 사용하는 것은 몇분이면 충분히 해결 할 수 있기 때문입니다.

종합해보면 , 기본적으로 apache에서 static page를 맡아 처리하고 tomcat은 JSP/Servlet 이라는 점에서의 연동도 의미가 있지만, 그보다 apache는 확장이라는 측면, tomcat의 자바업무 수행이라는 측면으로 자료의 확장자 이상의 의미로 연동한다고 생각합니다.

출처 : http://nomore7.tistory.com/5

Comments

comments

1 댓글

답글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다.