9강 톰켓이란?

이소연's avatar
Aug 06, 2024
9강 톰켓이란?
-스프링부트는 내장톰켓을 가져 따로 설치 필요 없이 바로 실행가능.
 

HTTP통신이란?

단순히 을의 요청에 갑이 응답해주는 구조
-응답 : HTML 문서 / 특정자원(URL)
⇒ 웹서버
 

톰켓

웹브라우저가 보통 요청을 하는데,
웹 브라우져는 [ HTML, JAVA Script,css,.avi(영상) ] ⇒ 정적인 것들만 이해 가능
so, 요청하는 것이 .jsp/자바코드 같은 것은 이해x ⇒ 브라우져에서 읽을 시 내용이 깨짐
so 그럴 때 아파치(웹서버)가 톰켓한테 넘김. ⇒ 톰켓이 .jsp 파일을 컴파일해서 .html에 덮어씌움
⇒ 그걸 아파치한테 주면, 아파치가 그 .html파일을 웹 브라우져에 응답. 브라우져는 그걸 받고 open해서 읽음.
 

pooling 기술

최초 request >> 서버는 서블릿객체 make >> 필요 메서드 호출(get/post/put/delete..) 호출 할 때는 스레드 1 만들어짐 >> response >> 스레드 1은 제거되지 않고 남겨두고 재사용 그 후, 새로운 사람 request >> 서블릿 객체는 다시 만들어지지 x, 재사용 >> 스레드1도 재사용 >> response
그렇다면, 여러 client 요청 동시에 오면, 스레드 설정 예를 들어 20개로 해 두었으면, 20명까지 카바가능, 21번째는 대기, 그 전의 스레드 중 응답 끝난 스레드 있으면 그 스레드로 재사용
 
💡
서블릿 객체는 무조건 1개 스레드 갯수는 컴퓨터 성능마다 다름 즉, 중용한 것은 서블릿 객체, 스레드 모두 재사용 됨.
 
if, 동시 요청 1000명이 한다면, 1) 컴퓨터 성능 upgrade(=스케일 업) 혹은 2) 분산처리 : 100명 처리하는 컴퓨터 10대 만들기(=수평적 확장이라 스케일 아웃)
 
 
notion image
notion image
notion image
notion image
 
Share article

Coding's note