최근 HikariCP를 공부하면서 이해한 내용을 정리한다.
HikariCP란?
Connection Pool을 관리해주는 프레임워크로 성능이 매우 우수하다고 한다.
순서는 위와 같다.
Connection이 유효한 경우
- Connection 요청
- 이전에 사용했던 Connection 정보 존재 확인
- Connection이 유효함을 확인
- Connection 반환
Connection이 유효하지 않은 경우
- Connection 요청
- 이전에 사용했던 Connection 정보 존재 확인
- Connection이 유효하지 않음을 확인
- Close Connection
- Remove Pool
- Pool 을 다시 채움
- hikari connection이 Timeout이 발생하지 않았다면 Connection Return
- hikari connection이 Timeout이 발생했다면 예외처리 발생
Connection Pool 이란?
데이터베이스와 연결된 Connection을 미리 만들어 놓고 DB접근 시 pool에 남아있는 Connection 중 하나를 가져와 사용한 후 반환하는 기법을 뜻한다.
Connection Pool 장점
- Connection을 미리 만들어놓게 되면 DB에 빠르게 접근할 수 있게 된다.
- Connection수를 제한할 수 있어 과도한 접속으로 인한 서버 고갈을 방지할 수 있다.
- DB접속 모듈을 공통화해 유지보수가 용이하다.