로딩
요청 처리 중입니다...

Spring MVC 요청은 어떤 스레드에서 처리될까?

 Spring MVC 요청은 어떤 스레드에서 처리될까?

Spring MVC로 API를 개발하다 보면 Controller 메서드가 자연스럽게 실행되는 것처럼 보입니다. @GetMapping("/users/{id}") public UserResponse getUser(@PathVariable Long id) { return userService.getUser(id); } 하지만 클라이언트 요청이 들어왔을 때 이 코드를 실행하는 주체는 결국 스레드입니다.

그렇다면 Spring MVC에서 하나의 HTTP 요청은 어떤 스레드에 의해 처리될까요? 그리고 요청이 많아져서 처리 가능한 스레드가 부족해지면 어떤 일이 발생할까요?

이 글에서는 Spring MVC와 내장 Tomcat을 기준으로, 클라이언트 요청이 들어와 최종 응답이 나가기까지의 흐름을 정리해 보겠습니다. 1. Spring MVC 요청을 처리하는 기본 구조 Spring MVC에서 요청 처리 흐름을 단순화하면 다음과 같습니다.

애플리케이션 코드 입장에서는 Controller부터 눈에 들어오지만...