728x90
반응형

서블릿 컨테이너 2

CGI와 Servlet, 그리고 WS와 WAS

CGI와 Servlet에 대해 이야기하기 전에 먼저 WS와 WAS의 차이에 대해서 이야기하도록 하겠습니다. 일반적으로 웹서버라고 하면 WS와 WAS를 모두 통칭하는 경우가 많지만 이 글에서는 정적인 웹 페이지만을 반환하는 WS와 동적인 요청또한 처리할 수 있는 WAS를 분리해서 설명하도록 하겠습니다. Web Server (WS) WS의 정의는 다음과 같습니다. 웹 브라우저와 같은 클라이언트로부터 HTTP 요청을 받아들이고, HTML 문서와 같은 웹 페이지를 반환하는 컴퓨터 프로그램 또는 위에 언급한 기능을 제공하는 컴퓨터 프로그램을 실행하는 컴퓨터 즉 웹서버란 HTTP 프로토콜에 따른 요청을 받아서 HTML과 같은 정적인 웹 페이지를 반환하는 프로그램이나 컴퓨터를 의미한다고 이해할 수 있습니다. 결론적으..

스프링이 어떻게 여러 요청을 동시에 처리할 수 있을까?

스프링의 다중 요청 처리 우선 스프링은 멀티쓰레딩 환경입니다. 그렇기 때문에 동시에 발생하는 여러 요청에 대해서 여러 쓰레드로 나눠서 비동기로 요청을 처리할 수 있습니다. 그러면 스프링에서 멀티쓰레딩을 어떻게 지원할까요? 스프링 내장 서블릿 컨테이너 Tomcat 스프링은 기본적으로 설정된 서블릿 컨테이너로 내장 웹서버인 Tomcat을 사용합니다. 이 Tomcat에서 멀티쓰레딩을 지원하기 위한 쓰레드풀을 기본적으로 생성해서 관리합니다. 쓰레드풀이란 쓰레드를 생성하고 제거하는데 드는 컨텍스트 스위칭과 같은 오버헤드를 줄이기 위해 미리 쓰레드를 만들어두고 관리하는 패턴입니다. 이 쓰레드풀의 쓰레드들을 통해 비동기 요청을 처리합니다. Tomcat 쓰레드풀 기본 설정 server: tomcat: threads: ..

Develop(개발) 2024.03.10
728x90
반응형