본문 바로가기
Etc

내장 톰캣과 외장 톰캣

by SuperDT 2025. 11. 23.

Springboot는 내장 톰캣을 사용함에도

레거시 아키텍처에서는 외장 톰캣을 사용해야하는 경우가

많습니다

 

내장 톰캣과 외장 톰캣을 사용했을 때 차이점 중에 하나는

 

JVM 옵션 통합 관리 기능이 약화된다는 것입니다

내장 톰캣(jar)은 Spring Boot 앱 그 자체가 JVM 프로세스이므로

GC Log

HeapDump

JMX Export

Thread Dump

전부 Spring Boot Actuator로 쉽게 제어 가능하게 됩니다

 

하지만 외장 톰캣은

JVM은 톰캣 프로세스에 속하므로

Spring Boot는 그 안의 서블릿 애플리케이션일 뿐

그래서 Actuator가 JVM 전체의 성능 데이터, GC 상태 등을 완전히 장악할 수 없으며

관리 포인트가 늘어나게 됩니다

 

아키텍처는 반드시 다양한 요소를 고려해서

설계하고 적용해야합니다