사용자의 요청이 DB까지 닿는 머나먼 여정

웹 애플리케이션에 접속하는 순간부터 데이터가 저장되기까지, 우리의 코드는 보이지 않는 곳에서 거대한 체계를 통과합니다.

5.png

① 톰캣(Tomcat)과 버퍼 브라우저가 8080 포트로 요청을 보내면, 톰캣은 HeaderBody 정보를 담은 req(Request) 객체를 생성합니다. 이때 효율적인 처리를 위해 미리 만들어진 **Request Pooling(Thread Pool)**에서 일꾼을 꺼내 작업을 할당합니다.

② 스프링 컨테이너의 핵심 계층

③ 자원 효율화: 풀링(Pooling) 서버는 무한한 자원을 가지고 있지 않습니다. 그래서 **Request Pooling(예: 50개)**과 **DBCP(Database Connection Pool, 예: 20개)**를 미리 준비해둡니다. 요청이 올 때마다 새로 만드는 것이 아니라, 미리 만들어진 연결 통로를 '빌려 쓰고 반납하는' 방식을 통해 서버의 부하를 획기적으로 줄입니다.