목록 보기
MultiDatasource·Prologue로 Pod·JVM 비용 절감
아키텍처

MultiDatasource·Prologue로 Pod·JVM 비용 절감

넥스트리
넥스트리
2026년 10월 19일

두줄요약

Pod·JVM 반복 비용을 줄이기 위해 서비스 경계와 데이터 경계를 유지한 통합 Boot 구조를 설계했습니다.\nMultiDatasource와 package 기반 트랜잭션 라우팅을 Prologue 자동 구성으로 공통화했습니다.

문제 상황

  • 마이크로서비스별 Pod·JVM·Spring Context·thread pool·connection pool의 반복 비용
  • 낮은 트래픽 서비스까지 독립 실행 단위로 유지할 때의 운영 대상 증가

구조와 흐름

  • 서비스별 Gradle 모듈·package·DataSource·persistence unit 유지, 통합 Boot를 유일한 실행 진입점으로 구성
  • 서비스별 EntityManagerFactory·JpaTransactionManager·Flyway를 분리하고 package 기반으로 트랜잭션 라우팅
  • 검증된 MultiDatasource topology와 persistence Bean 생성 규칙을 Prologue 자동 구성으로 공통화

트레이드오프

  • 하나의 JVM에서 중복 런타임 자원 절감 가능, 서비스별 connection pool 예산의 통합 관리 필요
  • 통합 Context의 Bean·Config 충돌과 장애 영향 범위 확대 가능성
  • 다중 DataSource 간 원자적 트랜잭션 미지원, 보상 처리·outbox·재시도·멱등성 등 별도 전략 필요

성능/운영 포인트

  • HikariCP maximumPoolSize·minimumIdle과 DB max_connections의 topology 단위 산정
  • CPU·heap·GC·thread 수·DB connection·장애 범위의 운영 환경 측정 필요
  • 독립 확장·상이한 배포 주기·강한 장애 격리 요구 서비스의 별도 Pod 유지

다음 읽기

#JPA 주제를 이어서 읽기

애플리케이션 계층에서 관계 다루기

애플리케이션 계층에서 관계를 다루는 이유와 구조를 정리했습니다. DB/JPA에 맡기기보다 이벤트 전파와 메타데이터로 관계를 명시적으로 관리하는 방식입니다.

넥스트리
넥스트리
아키텍처

댓글 0개

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...