- 데이터베이스 Connection을 획득할 때는 매번 다음과 같은 복잡한 과정을 거칩니다.
- 애플리케이션 로직은 DB 드라이버를 통해 Connection을 조회 합니다.
- DB 드라이버는 DB 와 TCP/IP Connection을 연결합니다. 이때 3 way handshake 같은 동작이 발생 → Connection Pool과 직접 Connection을 가져오는 과정에서 발생할 수 있는 비용이 위 방식에 의해서 발생한다는 것을 알아두자
- DB 드라이버가 Connection이 연결되면, ID, PW 부가 정보를 전달하고 내부 인증을 완료 후 내부에 DB 세션을 생성합니다.
- DB Connection 생성이 완료되었다는 응답을 보내고, DB 드라이버는 Connection 객체를 생성해 클라이언트에 반환합니다.

Connection Pool
오픈 소스 Connection Pool
HikariCP Dead lock에서 벗어나기 (이론편) | 우아한형제들 기술블로그