카
카카오페이
June 11, 20241회
R2DBC Connection Pool 실종 사건
간단 소개
R2DBC 커넥션 풀 초기화 문제 해결 과정을 통해 리액티브 프로그래밍의 이해와 개발 환경 검증의 중요성을 강조합니다.
AI Summary
- 사건 개요 및 원인 분석
- R2DBC 커넥션 풀이 애플리케이션 시작 시 초기화되지 않는 문제 발생, IntelliJ 환경과 실제 배포 환경 간 동작 차이 확인.
- r2dbc-pool 내부 코드 분석 결과, 커넥션 풀 생성 시점에 커넥션을 할당하지 않고, 필요 시점에 커넥션을 생성하는 방식임을 확인.
- reactor-pool의 리액티브 프로그래밍 철학에 따라 명시적인 웜업(warmup) 없이는 커넥션이 생성되지 않음.
- 해결책 및 교훈
- warmup() 메서드를 사용하여 커넥션 풀을 명시적으로 초기화함으로써 문제 해결.
- IntelliJ의 Spring Actuator 통합 기능으로 인해 HealthCheck 과정에서 커넥션 풀이 생성되는 것처럼 보이는 현상 확인.
- 개발 편의성 도구 사용 시에도 운영 환경과 동일한 조건에서 꼼꼼한 검증의 중요성을 강조.
Next Feeds
자동차 도장 밀착력 평가의 새로운 방법
자동차 도장 밀착력 평가의 중요성과 새로운 평가 방법(SAICAS)을 소개하고, 기존 평가법의 한계를 극복하기 위한 연구 필요성을 강조한다.
도장밀착력전착도장SAICAS부식
2024. 6. 10.
현대자동차

VulShot으로 시작하는 DevSecOps & 보안 점검 자동화
카카오뱅크는 VulShot을 통해 DevSecOps를 구현, 보안 점검을 자동화하고 개발 초기부터 보안을 강화합니다.
DevSecOpsVulShot보안 자동화정적 분석동적 분석
2024. 6. 10.
카카오뱅크

병렬 네트워크 파일 시스템 pNFS의 재조명
pNFS는 기존 NFS의 한계를 극복하고 고성능 컴퓨팅 환경에서 스토리지 병목 문제를 해결하는 혁신적인 기술이다.
pNFSNFS병렬 파일 시스템스토리지AI/ML
2024. 6. 10.
글루시스

Flutter에서 커스텀 린트 활용하기
Flutter 프로젝트에서 custom_lint 패키지를 활용하여 팀에 맞는 커스텀 린트를 구축하고 활용하는 방법과 이점을 소개합니다.
Flutter린트custom_lintDart코드 스타일
2024. 6. 7.
LY Corp

전통적인 CMS에서 LandPress Content로 CMS를 옮기는 이유
전통적인 CMS에서 LandPress Content로의 마이그레이션 배경, 과정, 그리고 개선점을 분석합니다.
헤드리스 CMSLandPress Content마이그레이션데이터 구조API
2024. 6. 7.
LY Corp

전시 딜 내재화 프로젝트 회고: MongoDB 기반 데이터 구축과 API 개선 과정
MongoDB 기반 딜 내재화 프로젝트를 통해 데이터 관리 효율성을 높이고 API 성능을 개선한 경험을 공유합니다.
MongoDB내재화API데이터성능 개선
2024. 6. 6.
11번가