R2DBC 커넥션 풀 실종 사건
·2024.06.11 19:00
R2DBC 커넥션 풀이 애플리케이션 시작 시 초기화되지 않는 문제를 분석하고 해결하는 과정을 다룬다.
Spring WebFlux와 R2DBC를 사용하는 환경에서, 애플리케이션 시작 시 R2DBC 커넥션 풀이 자동으로 생성되지 않는 현상이 발견되었습니다. 이는 첫 데이터베이스 요청이 들어온 후에야 커넥션이 생성되는 동작으로, 초기 트래픽에 대한 지연을 유발하거나 커넥션 부족 장애로 이어질 위험이 있습니다.
특히 IntelliJ 환경에서는 커넥션 풀이 정상적으로 생성되지만, gradle로 빌드한 jar 파일을 직접 실행할 경우 커넥션이 생성되지 않는 환경 차이가 존재했습니다.
원인 파악을 위해 r2dbc-pool의 내부 코드를 분석한 결과, 설정을 통해 명시적으로 warmup 메서드를 구현함으로써 원하는 시점에 커넥션을 미리 생성할 수 있는 해결책을 확인했습니다.
이 요약은 원문 이해를 돕기 위한 큐레이션입니다. 저작권은 원저작자에게 있으며, 정확한 내용과 맥락은 원문을 확인하세요.
요약 오류, 출처 표기 문제, 삭제 요청은 문의 · 건의로 알려주세요.