Connection을 미리 생성하는 이유
·
Database
Spring Boot을 사용하면 Connection pool에 미리 Connection을 생성하는데, 미리 생성하는 이유로 DB와 connection을 맺는 비용이 크기 때문에 애플리케이션 시작 시 미리  pool에 생성해 두어 필요할 때마다 꺼내 사용한다고 알고 있다. DB와 애플리케이션이 Connection을 맺는데 비용이 큰 이유가 뭘까?우리는 애플리케이션과 DB가 통신하는 방법을 알아야 한다.기본적으로 애플리케이션과 DB 서버와 통신을 하는 방법은 TCP/IP를 통해 통신을 하게 된다.TCP/IP는 신뢰성이 높은 통신 방법으로 신뢰성을 보장하기 위해 3-way handshake 과정을 통해 연결을 하고 연결을 종료할 때는 4-way handshake 과정을 통해 연결을 종료하게 된다. https:..
커넥션 풀(Connection pool)이란? (JDBC, HikariCP)
·
Java/Spring
커넥션 풀(DBCP)이란? 웹 컨테이너(WAS)가 실행이 될 때 DB와 연결을 위해 미리 설정된 값만큼의 connection 객체들을 만들어 pool에 저장을 했다가 클라이언트의 요청이 발생하면 pool에 미리 생성해 둔 connection을 주었다가, 클라이언트의 사용이 끝나면 connection을 돌려받고 다시 pool에 저장하는 방식이다. WAS(Web application server)란? WAS(Web application server)는 웹 서버와 웹 컨테이너(WAS = Web Server + Web Container)가 합쳐진 형태로, 웹 서버 단독으로 처리할 수 없는 DB조회나 다양한 로직 처리가 필요한 동적 컨텐츠를 제공한다. 커넥션 풀 동작 과정 1. 사용자가 DB사용을 위해 conne..