ConnectionPool이란?

2020/IT Q_A 2020. 5. 20. 11:01
반응형

  온라인 쇼핑몰의 경우 동시에 수십 명, 많게는 수백 명까지 접속해서 상품 조회, 주문하기 등의 기능을 사용하는데 앞의 방법처럼 데이터베이스와 연동해 작업해야 한다면 너무 비효율적입니다. 이 문제를 해결하기 위해 현재는 웹어플리케이션이 실행됨과 동시에 연동할 데이터베이스와의 ㅇ녀결을 미리 설정해 둡니다. 그리고 필요할 때마다 미리 연결해 놓은 상태를 이용해 빠르게 데이터베이스와 연동하여 작업을 합니다. 이렇게 미리 데이터베이스와 연결시킨 상태를 유지하는 기술을 커넥션 풀(ConnectionPool)이라고 부릅니다.

 

기존 데이터베이스 연동 방법의 문제점

  • 애플리케이션에서 데이터베이스에 연결하는 과정에서 시간이 많이 걸립니다.

ConnectionPool

  • 애플리케이션 실행 시 미리 ConnectionPool 객체를 생성한 후 데이터베이스와 연결을 맺습니다.
  • 애플리케이션은 데이터베이스 연동 작업 발생 시 이 ConnectionPool 객체를 이용해서 작업합니다.

 

커넥션 풀 동작 과정

  • 톰캣 컨테이너를 실행한 후 응용 프로그램을 실행합니다.
  • 톰캣 컨테이너 실행 시 ConnectionPool 객체를 생성합니다.
  • 생성된 커넥션 객체는 DBMS와 연결합니다.
  • 데이터베이스와의 연동 작업이 필요할 경우 응용 프로그램은 ConnectionPool에서 제공하는 메서드를 호출하여 연동합니다.

  톰캣 컨테이너는 자체적으로 ConnectionPool 기능을 제공합니다. 톰캣 실행 시 톰캣은 설정파일에 설정된 데이터베이스 정보를 이용해 미리 데이터베이스와 연결하여 ConnectionPool 객체를 생성한 후 애플리케이션이 데이터베이스와 연동할 일이 생기면 ConnectionPool 객체의 메서드를 호출해 빠르게 연동하여 작업합니다.

 

 

반응형
블로그 이미지

꽃꽂이하는개발자

,