Tomcat은 JVM 위에서 동작
하나의 JVM에서 하나의 Tomcat Instance가 하나의 Process로 동작
하나의 Server에는 여러 개의 Service가 존재 가능, 각각의 Service는 1개의 Engine과 여러 개의 Connector로 구성
Engine은 Catalina Servlet Engine이라고도 불리며, 정의된 Connector로 들어온 요청을 하위에 있는 해당 Host에게 전달해주는 역할을 수행
하나의 Engine에는 여러 개의 Host가 존재 가능, Host는 가상호스트 이름을 나타내며, 호스트 이름이 곧 url에 매핑
Host에는 여러 개의 Context가 존재 가능, Context는 하나의 Web Application을 나타내며 주로 *.war 파일의 형태로 배포
Tomcat Server가 요청을 받으면, Catalina (Tomcat Engine)가 요청에 맞는 Context (Context path)를 찾고, Context는 자신이 설정된 어플리케이션의 deployment descriptor file (web.xml)을 기반으로 전달받은 요청을 서블릿에게 전달하여 처리
Java Code
, application.properties
등)나는 B2B 솔루션 제품을 개발하고 있어서 고객사의 요구사항에 따라 설정이 달라지는 경우가 많다.
이런 경우에 배포환경에서는 외장톰캣을 사용하고 상황에 맞춰서 xml파일 수정으로 대응해주고 있는데 고객사에 나가는 제품이 아닌 클라우드 환경의 단일 서버인 경우 임베디드 톰캣을 채택해 사용하고 있다.
결론은 상황에 맞는 최선의 기술을 선택
하는 것이 중요하다.
정리가 잘 된 글이네요. 도움이 됐습니다.