목록 보기
금융서비스 MSA 전환기 — DB 부(1편)
아키텍처

금융서비스 MSA 전환기 — DB 부(1편)

핀다
핀다
2023년 7월 17일

두줄요약

기존 대출비교 DB와 여신관리 서비스를 분리해 MSA 구조로 전환한 과정을 정리했습니다. DDD, Multi Datasource, CQRS, 트래픽 전환과 성능 개선 결과까지 함께 다뤘습니다.

문제 상황

  • 대출비교 서비스와 여신관리 서비스가 하나의 DB를 공유하며 강결합 상태로 운영
  • 메인 서비스 부하 증가로 전면 및 일부 장애 가능성 확대, 유지보수와 대량 트래픽 대응 부담
  • 유관부서 영향도와 DB 이관 시 사이드 이펙트 검토가 필요한 전사적 전환 과제

원인 분석

  • 서비스 간 DB JOIN과 타 도메인 로직 혼재로 경계가 불명확한 구조
  • 전사 공통 모듈의 관리 부재로 유지보수 부담 증가
  • 외래키 제약과 미분리된 테이블 구조로 성능 저하 및 관리 포인트 증가 우려

해결 방법

  • 여신관리 DB를 대출비교 DB에서 분리하고, 수신·자산·배치관리 DB까지 독자 구조로 확장
  • DDD 기반으로 Domain Event와 Bounded Context를 정의하고, 도메인별 로직과 API를 재배치
  • Multi Datasource와 CQRS 구조로 read/write 분리, Ingress prefix redirect로 신규 서버로 트래픽 전환

성능/운영 포인트

  • 외래키 제거, 미사용 테이블 정리, character set과 collation 변경으로 운영 부담 완화
  • 공통 모듈 제거와 Maven에서 Gradle 전환으로 의존성 축소
  • Databricks로 알림 발송 처리 이관, CPU Workload와 QPS 감소 확인

다음 읽기

#MSA 주제를 이어서 읽기

금융서비스 MSA 전환기- BFF 와 CircuitBreaker 적용(2편)

MSA 환경에서 BFF로 Frontend에 맞는 데이터 제공 구조를 적용했습니다. 또한 CircuitBreaker와 Resilience4J로 외부 장애 전파를 막고 트래픽을 조절했습니다.

핀다
핀다
아키텍처

댓글 0개

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

댓글을 불러오는 중...