Java 기반 클라우드 융합 개발자 과정 - KH 정보교육원/플러스 알파
[ Mybatis ] - 커넥션 풀 Connection pool
giggs
2022. 9. 3. 09:38
커넥션 풀이란?
지금까지 우리는 db에 접속할 일이 있을 때마다
java에서 db쪽으로 접속해서 새로운 커넥션을 얻어왔었다.
커넥션을 새로 얻는다는 것은
== 매번 들어오는 요청마다 새로운 프로세스를 실행하는 것이다.
이렇게 된다면 자원 소비가 너무 크다.
왜?
java와 DB 둘 사이의 거리가 너무 멀다. -
java를 실행하는 컴퓨터와 db를 실행하는 컴퓨터가
물리적으로도 멀리 있기에.( 서버룸에서 db 관리 )
그래서 매번 들어오는 요청마다 / 작업마다
커넥션을 생성하지 않게 해 주기 위해 등장한 것이
"커넥션 풀"
요청마다 커넥션 얻고 / 커넥션 얻고 하는 것이 아닌
애초에 java쪽에서 시작할 때부터connection을 여러 개 들고 있는 것!
어떻게 들고 있냐면
먼저 들어온 게 먼저 나가는queue에 담겨 있을 것이다.
이렇게 여러 개의 커넥션을 미리 담아놓은 공간을
" 커넥션 풀 "
이라고 한다.!
커넥션을 꺼내가서 다 사용하고 나면
없어지는 것이 아니라
다시 반납한다!
클라이언트 요청이 오면 connection을 빌려주고,
처리가 끝나면 다시 connection을 반납받아 pool에 저장하는 방식