아키텍처
카카오페이 여신코어 DDD(Domain Driven Design, 도메인 주도 설계)로 구축하기
두줄요약
카카오페이 여신코어를 DDD와 멀티모듈 구조로 내재화한 과정을 공유했습니다. 도메인 경계, 공통 언어, Entity 분리를 통해 복잡한 여신 업무를 견고하게 설계한 사례입니다.
핵심 내용
- 카카오페이 여신코어 내재화 프로젝트에 DDD를 적용한 구축 경험 공유
- 도메인 전문가와 개발자의 공통 언어 정립, Bounded Context와 Aggregate Root 기반 설계
- Spring 멀티 모듈에서 DomainEntity와 JPA Entity를 분리하고, Application은 Command와 Repository를 통해 도메인을 조합
- 공통 납부 로직은 Biz-component로 묶고, 배치용 JPA Entity 중복 관리 문제와 한계도 함께 정리
적용해볼 점
- 복잡한 정책 도메인에서 도메인 중심 언어와 경계 설정을 먼저 합의하는 설계 방식
- 도메인 기능을 Application과 분리해 유지보수성과 분석 용이성을 높이는 구조
- 공통 업무는 재사용 가능한 컴포넌트로 집중하고, 배치·API 간 중복 구현을 줄이는 접근
