다음 이전 차례

13. Tomcat Workers

톰캣 워커는(Tomcat worker) 웹서버를 대신하여 클라이언트측에서 요청된 서블릿을 실행하기 위해 대기 중인 인스턴스(Instance)로서, 쉽게 얘기하면 서블릿 요청을 대기중인 톰캣 프로세스이다.

즉, 아파치 같은 웹서버를 대신하여 클라이언트측의 서블릿 요청을 톰캣 프로세스(Worker)에게 전달하여 요청을 처리할 수 있게 한다. 바로 이러한 프로세스가 워커이다. 또한 워커는 단일 워커뿐만 아니라 특정의 웹서버를 대신해 서블릿을 처리하기 위한 다중 워커를 가질 수 있다.

예를 들면, 모든 개발자들이 동일한 웹 서버에서 작업을 하고 있지만 개발 환경으로 인해 서로 다른 톰캣 워커에 의해 서로 다른 context 가 서비스되길 원할 경우가 있을 것이고, 웹 호스팅의 업체의 경우 자신의 고객을 위해 가상 호스팅 처리를 위해 서로 다른 워커를 사용하고 싶을 때 도 있을 것이다. 또한, 서블릿에 대한 분산된 처리를 하는 load balancing을 원할 경우도 있을 것이다.

이러한 여러가지 이유로 워커가 필요할 것이며 이러한 워커는 TOMCAT_HOME/conf/workers.properties 파일을 통해 설정할 수 있다.

13.1 워커 설정하기

여기에서는 간단한 설명만 언급하고 자세한 사항은 관련 문서를 참조하기 바란다. 관련 문서는 Tomcat3.2.1 의 소스 버젼이나 바이너리 버젼의 doc 디렉토리에 존재하므로 참조하기 바란다.

기본적으로 TOMCAT_HOME/conf/workers.properties 파일에서 다음 3가지 항목만 찾아서 설정하면 잘 작동한다.

간단한 설정 예

workers.tomcat_home=/usr/local/tomcat_321
workers.java_home=/usr/local/jdk_122
ps=/

13.2 워커 타입

다음은 워커 타입 이다.

ajp12 : ajpv12 프로토콜을 사용하여 어떻게 요청을 Out-process 톰캣 워커에게 전달할지를 아는 워커이다. 즉, ajpv12 프로토콜을 사용하는 Out-process 톰캣 worker 를 지원하는 워커 타입이다.

ajp13 : ajpv12 프로토콜을 사용하여 어떻게 요청을 Out-process 톰캣 워커에게 전달할지를 아는 워커이다.

jni : jni 사용하여 어떻게 요청을 In-process 톰캣 워커에게 전달할지를 아는 워커이다.

lb : Load-balancing 워커이다. 이 워커는 어느 정도의 결함 허용도를 가지며 라운드 로빈 방식으로 load-balancing 를 처리하는 워커이다.

워커 정의 예

worker.local.type=ajp12 : 톰캣 프로세스에게 요청을 전달하기 위해 ajp12 프로토콜을 사용하는 local라는 워커

worker.fast.type=jni : 톰캣 프로세스에게 요청을 전달하기 위해 jni 를 사용하는 fast 라는 워커

13.3 기타

먼저 자신의 리눅스 박스에 설정된 workers.properties를 보라.

이 파일은 다음을 정의 하고 있다.

ajp12,ajp13 및 lb 워커는 파일의 별다른 수정없이 바로 사용할 수 있으며, jni 워커의 경우 workers.tomcat_home,workers.java_home 및 ps 의 값을 수정하여 하며 기타 설정 문서를 참고하여야 한다.


다음 이전 차례