괴발개발 개발하다
[ Spring ] 스프링 커넥션 풀(Connection pool) 본문
1. 커넥션 풀(DBCP)
* DataBase Connection Pool 의 약자로 DB와 커넥션을 맺고 있는 객체를 관리하는 역할
웹 컨테이너(WAS)가 실행되면서 DB와 미리 connection(연결)을 해놓은 객체들을 pool에 저장해두었다가.
클라이언트 요청이 오면 connection을 빌려주고, 처리가 끝나면 다시 connection을 반납받아 pool에 저장하는 방식
2. 커넥션 풀(DBCP)을 사용하는 이유
자바에서 DB에 직접 연결해서 처리하는 경우(JDBC) 드라이버(Driver)를 로드하고 커넥션(connection) 객체를 받아와야 한다. 그러면 매번 사용자가 요청을 할 때마다 드라이버를 로드하고 커넥션 객체를 생성하여 연결하고 종료하기 때문에 매우 비효율적이다. 이런 문제를 해결하기 위해서 커넥션풀(DBCP)를 사용한다.
3. 커넥션 풀(DBCP) 특징
- 웹 컨테이너(WAS)가 실행되면서 connection 객체를 미리 pool에 생성해 둡니다.
- HTTP 요청에 따라 pool에서 connection객체를 가져다 쓰고 반환한다.
- 이와 같은 방식으로 물리적인 데이터베이스 connection(연결) 부하를 줄이고 연결 관리 한다.
- pool에 미리 connection이 생성되어 있기 때문에 connection을 생성하는 데 드는 요정 마다 연결 시간이 소비되지 않는다.
- 커넥션을 계속해서 재사용하기 때문에 생성되는 커넥션 수를 제한적으로 설정함
< 출처 >
'spring' 카테고리의 다른 글
[ Spring ] 스프링 커넥션 풀 설정(HikariCP) (0) | 2022.07.08 |
---|---|
[ Spring ] 스프링 프로젝트의 JDBC 연결 (0) | 2022.07.08 |
[ Spring ] 스프링 model.addAttribute() 메소드 (0) | 2021.11.22 |
[ Spring ] 스프링 MVC 웹서비스 (0) | 2021.11.22 |
[ Spring ] 스프링 웹 프로그래밍 설계 모델 (0) | 2021.11.20 |