WAS 는 기본 웹서버의 기능도 수행할 수 있기 때문에 WAS와 DB만으로 시스템 구성이 가능하다.
하지만, WEB을 함께 구성하여 정적리소스를 웹 서버가 처리함으로써 더 효율적으로 시스템을 구성한다.
톰캣처럼 서블릿을 지원하는 WAS를 서블릿 컨테이너라고 한다.
서블릿 객체를 싱글톤으로 관리한다.
멀티 쓰레드 처리를 지원한다.
쓰레드는 생성 비용이 비싸서, 요청 마다 쓰레드를 생성하게 되면 굉장히 비효율적일 수 있으며 요청이 많아지면 서버 과부화가 발생한다.
-> 따라서 쓰레드 풀을 생성하여 미리 쓰레드를 생성하여 보관하고 관리한다. 얼마나 생성할지는 적정 숫자를 고려하여 설정한다.
WAS의 멀티 쓰레드 지원
핵심
• 멀티 쓰레드에 대한 부분은 WAS가 처리
• 개발자가 멀티 쓰레드 관련 코드를 신경쓰지 않아도 됨
• 개발자는 마치 싱글 쓰레드 프로그래밍을 하듯이 편리하게 소스 코드를 개발
• 멀티 쓰레드 환경이므로 싱글톤 객체(서블릿, 스프링 빈)는 주의해서 사용
다 알아서 해준다니 다행이다.