본문 바로가기
반응형

HikariCP3

Spring Boot 멀티 데이터소스: MySQL과 Oracle 동시에 연결하기 회사에서 레거시 시스템 마이그레이션 프로젝트를 맡게 됐다.기존 Oracle DB는 유지하면서 새로운 기능은 MySQL로 구축해야 하는 상황...처음엔 "이거 어떻게 하지?" 싶었는데, 막상 해보니까 Spring Boot에서 멀티 데이터소스 설정이 생각보다 깔끔하게 정리됐다.오늘은 삽질했던 경험을 바탕으로 Spring Boot에서 MySQL과 Oracle을 동시에 연결하는 방법을 정리해보려고 한다.왜 멀티 데이터소스가 필요할까?실무에서 멀티 데이터소스를 사용하는 경우는 생각보다 많다:레거시 시스템 연동: 기존 Oracle DB를 유지하면서 신규 서비스는 MySQL로 구축MSA 전환 과정: 모놀리틱에서 MSA로 전환하는 과도기에 여러 DB 참조읽기/쓰기 분리: Master/Slave 구조로 성능 최적화멀티테.. 2025. 10. 10.
Spring Boot 성능 최적화 최근 프로젝트에서 API 응답 속도가 느려지는 문제를 겪으면서 성능 최적화를 본격적으로 진행했다. 적용해본 방법들과 결과를 정리해둔다.## 1. Redis 캐싱으로 응답 시간 40% 단축가장 효과가 좋았던 건 Redis 캐싱이었다. 상품 상세 정보 같이 자주 조회되지만 변경은 드문 데이터에 `@Cacheable`을 적용했다.@Cacheable(value = "products", key = "#productId")public ProductDto getProductDetail(Long productId) { return productRepository.findById(productId) .map(this::convertToDto) .orElseThrow(() -> new Pro.. 2025. 10. 3.
DB 커넥션 풀 사이즈 설정 기준 - Java 개발자 기준 커넥션 풀이란?DB 연결을 미리 생성해서 풀에 저장요청 시 풀에서 가져다 쓰고 반납매번 새로 생성/삭제하는 오버헤드 제거풀 사이즈가 중요한 이유너무 작으면: 대기 시간 증가, 성능 저하너무 크면: 메모리 낭비, DB 부하 증가적절한 균형점 찾는 것이 핵심기본 설정 공식최소 풀 사이즈 = CPU 코어 수최대 풀 사이즈 = CPU 코어 수 × 2 ~ 4[홈페이지 제작 기준 설정값]소규모 개인 홈페이지최소: 2-5개최대: 10-20개동시 접속자 50명 이하중소규모 회사 홈페이지최소: 5-10개최대: 20-50개동시 접속자 100-500명대규모 서비스최소: 10-20개최대: 50-100개 이상부하 테스트 필수HikariCP 설정 예시# application.ymlspring: datasource: hik.. 2025. 6. 11.
반응형