지식의 재구성

[ 프 어 실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