eggrok
웹서버와 톰캣의 연동, load blancing. 본문
1.1. 연동의 필요성
대부분의 웹 컨테이너(톰캣 포함)는 웹서버 기능이 포함되어 있다. 그럼에도 불구하고 다른 웹서버와 연동해서 사용하는 이유를 정리해 보면 다음과 같다.
l 톰캣은 아파치 웹서버 만큼 정적인 문서를 빠르게 처리하지 못한다.
l 톰캣은 아파치 웹서버 만큼 다양한 옵션 및 환경 설정 기능을 제공하지 못한다.
l 톰캣은 아파치 웹서버 만큼 안정적이지 못하다.
l 이미 많은 사이트들이 웹서버 기반으로 많은 시스템 들을 개발하였다. 예를 들어, CGI, PHP 등 서버 사이드 애플리케이션 들과 더불어
다양한 모듈들이 포함되어 있는데 이 모든 기능을 톰캣에서는 실행시킬 수 없다.
이러한 이유로 웹서버와 톰캣을 연동해서
사용하는 것을 권한다. 또한 웹서버와 연동을 시키지 않은 상태에서 톰캣에 접속하기 위해서는 HTTP의 기본 포트인 80포트가 아닌 8080 포트를 통해서 접속해야만 한다[1]. 이때 아파치 웹서버와 톰캣을 연동을 시키게 되면 8080 포트가
아닌 웹서버의 표준 포트인 80포트를 이용해서 접속이 가능하다. 이러한
이유 외에도 다양한 문제가 존재한다. 예를 들어 보안과 관련된 문제도 발생할 수 있으며 하나의 웹서버에
여러 개의 톰캣을 연결해서 로드 발랜싱을 구현할 수도 있다. 즉 좀 더 폭넓은 선택과 운영의 유연성을
제공하기에 필자는 웹서버와의 연동을 반드시 하기를 권한다.
[1] 물론 8080 포트 값은 설정을 변경하면 80 포트로 서비스 할 수 있도록 할 수 있다. 즉 아파치 웹서버를
통하지 않고도 80포트로 접속하게 할 수 있는 것이며 방법도 매우 간단하다. 하지만 이러한 방식을 추천하고 싶지는 않다. 왜냐하면 보안의 문제도
발생할 수 있으며 아파치의 다양한 확장 기능을 활용할 수 없기 때문이다.
2. Load Balancing
Tomcat 과 Apache를 연동하기 위해 jk, jk2 등의 컨넥터를 이용한다,
로드 밸런싱이란, 서버에 접속자(client)가 몰리게 되면, 서버 부하가 걸리고 속도가 느려지므로..접속자를 여러 서버에 분산해서 처리하는 방식이다. kt의 warp 광고를 떠올리게 한다. 한쪽으로 몰리는 데이터 사용자를 다른 널널한 쪽으로 분산하여 서비스한다고 했는데..톰캣의 load balacing 이랑 일맥상통하는것 같다.
아파치와 톰캣의 연동에 관하여 상세히 설명이 되어있는 word파일을 첨부하였다.
'programming' 카테고리의 다른 글
[java] List 인터페이스를 이용한, 다형성.==> List<> a = new ArrayList<>; (0) | 2012.04.15 |
---|---|
[java] 이클립스 serialVersionUid 경고. (0) | 2012.04.15 |
Web Server,Web Application Server, Apache, Tomcat (0) | 2012.03.12 |
DNS (domain name system) (0) | 2012.03.12 |
html을 이용한 로그인창 만들기2 (0) | 2012.03.09 |