기술 블로그
B레벨 - 심화
카카오뱅크 Spring Modulith 도입: 모놀리스에서 모듈러 모놀리스로
백엔드
아키텍처
금융
Spring ModulithKotlinSpring BootGradleHexagonal Architecture
배경
카카오뱅크 수신상품(예금, 적금) 개발팀이 모놀리식 아키텍처의 한계에 직면. 조직 확대로 코드 복잡성 증가, 배포 지연, 팀 간 의존성 문제 누적.
도전 과제
여러 수신상품의 아키텍처 선택(MSA vs 모듈러 모놀리스), 제한된 개발 리소스로 복수 서버 운영 가능성, 도메인 경계 명확화와 미래 변화 대응 구조 필요.
해결 방안
모듈러 모놀리스 + Spring Modulith 도입. 패키지 단위 논리적 모듈 분리. 커스텀 GoodsModuleDetectionStrategy로 자동 경계 강제. ApplicationModules.verify() 테스트로 의존성 검증. 헥사고날 아키텍처(Gradle 멀티모듈).
결과
도메인 경계를 코드 레벨에서 강제 가능. 신규 상품 추가 시 자동 경계 관리. 운영 복잡도 감소. 향후 MSA 분리 시 자연스러운 이관 가능.
핵심 인사이트
- 1.유행하는 기술보다 팀 상황에 맞는 적절한 선택이 중요
- 2.모듈러 모놀리스가 MSA 전환의 안전한 중간 단계
- 3.아키텍처 테스트가 도메인 경계 위반을 자동으로 감지