[Spring, Docker] 모듈식 모놀리스에서 Docker 배포하기
·
Back-end/Spring
우선 모듈식 모놀리스로 아키텍처를 가져갔다면 전통적인 모놀리식과 다르게 여러 개의 모듈이 있을 것이다. 하지만 모듈러식 모놀리스는 여러 모듈로 코드를 나누더라도, 최종적으로는 실행 모듈인 app에서 하나의 JAR 파일을 만들어 배포한다.우선 app 모듈에서 배포를 할 예정이라 app → Tasks → bootJar 를 클릭해줬다.app/build/libs 의 경로에 .jar로 끝나는 파일이 생성된다.이제 Dockerfile을 성해준다. (확장자 x)Dockerfile 생성하기방법은 두 가지가 있다1.jar 있는 곳에 Dockerfile 두기.jar 파일이 있는 곳에 Dockerfile을 생성하는 방법모듈식 모놀리스에서 생기는 단점1. Dockerfile이 build/libs 안에 들어감2. build 폴..
[Spring] Business Layer와 Presentation Layer 분리의 중요성
·
Back-end/Spring
💡결론Request/Response DTO는 API 입출력 형식에 가깝고, API 요구사항은 FE 화면 구성이나 기획 변경에 따라 자주 바뀐다. 그래서 Service가 DTO를 직접 반환하면 비즈니스 로직이 프레젠테이션 계층의 변화에 끌려다닐 수 있다. 이번 프로젝트에서는 Service는 Entity, VO, primitive, Map 같은 비즈니스에 가까운 값을 반환하고, Controller에서 Response DTO로 변환하는 방식을 사용했다.1. 문제 발생 상황이번 SOPT에서 합동 세미나를 진행했고 아래와 같은 일이 있었다.내가 원래 배웠던 구조는 차트 API, 좋아요 토글 API, 아티스트 곡 목록 API를 구현하면서 Service가 바로 Response DTO를 반환할 수 있었다. 하지만 리..