2022-thankoo icon indicating copy to clipboard operation
2022-thankoo copied to clipboard

[BE] 멀티모듈 설계를 적용하여 domain / prod / admin 모듈을 분리한다.

Open sure-why-not opened this issue 2 years ago • 0 comments

모듈 분리

문제 상황

스크린샷 2022-10-06 오후 6 24 29

현재 adminprod가 한 프로젝트에서 개발되고 있으며 배포 또한 묶여서 진행되고 있습니다. 따라서 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 배포 환경 분리

sure-why-not avatar Oct 06 '22 10:10 sure-why-not