지식의 재구성
[ 프 어 실03 ] SpringBoot서버 Architecture
doriver
2024. 8. 19. 13:44
서버( SpringBoot에서 내장Tomcat을 사용 )의 Architecture

몇가지 핵심 개념들
- Tomcat의 핵심 요소 : Catalina( 서블릿 컨테이너 ) , Coyote( HTTP 컴포넌트 )
- 스프링 컨테이너
- DispatcherServlet In SpringMVC
- 쓰레드풀, 커넥션 풀


실질적으로 요청에대한 응답을 만들어내는 SpringMVC부분
SpringMVC의 시작점 DispatcherServlet
DispatcherServlet은 스프링컨테이너에 스프링빈으로 초기화까지 된 다음
서블릿 컨테이너에 등록되고, 서블릿으로서 초기화된다.

HTTP요청에대한 WAS에 연결이 생기면
쓰레드가 할당되고, 쓰레드가 서블릿 객체를 호출함
protected void service( HttpServletRequest request, HttpServletResponse response ) { }
request, response객체는 요청이 올때마다 생성됨
서블릿 객체는 싱글톤으로 만들어져서 유지되면서 request, response객체를 처리함
WAS의 쓰레드 풀
이미 생성되어 있는 쓰레드를 쓰레드 풀에서 꺼내서 사용, 사용을 종료하면 쓰레드 풀에 해당 쓰레드를 반납
멀티 쓰레드에 대한 부분은 WAS가 처리

SpringBoot의 커넥션 풀
애플리케이션을 시작하는 시점에 ' 커넥션 풀 '은 필요한 만큼 커넥션을 미리 확보해 풀에 보관, 관리
( DB 드라이버를 통해 커넥션 객체을 얻는다 )
커넥션 풀에 들어 있는 커넥션은 TCP/IP로 DB와 커넥션이 연결되어 있는 상태이기 때문에 언제든지 즉시 SQL을 DB에 전달 가능
커넥션 풀에서 받은 커넥션을 사용해서 SQL을 데이터베이스에 전달하고 그 결과를 받아서 처리, 사용후 커넥션 반환


https://dorivertt.tistory.com/511
요청에 대한 서버의 응답
HTTP 메시지Tomcat In SpringBoot DispatcherServlet In SpringMVC HTTP 메시지HTTP 메시지에 거의 모든 형태의 데이터 전송 가능• 메시지 바디 : 실제 전송할 데이터가 들어감예) HTML 문서, 이미지,
dorivertt.tistory.com