2022-thankoo
2022-thankoo copied to clipboard
[BE] 멀티모듈 설계를 적용하여 domain / prod / admin 모듈을 분리한다.
모듈 분리
문제 상황

현재 admin
과 prod
가 한 프로젝트에서 개발되고 있으며 배포 또한 묶여서 진행되고 있습니다.
따라서 admin
변경사항을 배포하면 prod
도 함께 배포되어 영향을 끼치는 상황입니다.
이를 해결하기 위해 admin
/ prod
모듈과 ec2 인스턴스를 모두 분리하여 배포 주기를 각자 가져가고자 합니다.
추후 서버 다중화 적용시 admin
은 단일 admin 서버에 배포하고 prod
는 여러 서버에 배포하도록 할 수 있습니다.
먼저 간단하게 3개의 모듈로 분리하겠습니다.
thankoo-core (도메인 모듈)
- 서비스 도메인을 다룬다.
- 공통 모듈 (ex. common) 외에는 다른 모듈에 의존하지 않는다.
- 서비스 비즈니스 로직을 모른다.
thankoo-app-internal-api (어플리케이션 모듈)
- 독립적으로 실행 가능한 어플리케이션 모듈 계층이다.
- prod 서비스 비즈니스를 완성시킨다.
- 공통 모듈 (ex. common) , 도메인 모듈에만 의존한다.
thankoo-app-external-api (어플리케이션 모듈)
- 독립적으로 실행 가능한 어플리케이션 모듈 계층이다.
- admin 서비스 비즈니스를 완성시킨다.
- 공통 모듈 (ex. common) , 도메인 모듈에만 의존한다.
To do
- [ ] properties 파일 분리
- [ ] prod / admin 배포 환경 분리