(고민) Spring Boot 멀티모듈 구성시 a 모듈의 repository를 b 모듈에서 사용하기

김아무개·2023년 11월 1일
0

개인 프로젝트

목록 보기
3/3

https://cofls6581.tistory.com/274

위의 블로그를 통해서 결론내렸다!

내가 진행하던 방향은 계층별로 모듈을 나눈거였는데

하다보니 api 모듈과 domain(db) 모듈의 완전한 분리가 어려움을 느꼈고

서비스 도메인별로 모듈을 구분하는 것으로 변경하고자 한다.


오 그런데 이게 블로그라서 나눌수 있는 서비스 도메인이 있능가..?

블로그 프로필 관리 서비스 / 블로그 포스팅 관리 서비스 ...?

이왕 이렇게 된 것 관리자 전용 서비스도 만들어볼까?!




api 모듈과 db 모듈을 두고 작업을 해보고 있는데

api 모듈에서 db 모듈에 의존성을 두고 있지만

api 모듈에서 db 연동과 관련된 내용은 모르게 구현하고 싶다.

https://velog.io/@jonghyun3668/도메인-코드에-클린-아키텍쳐-적용하기

위 링크를 통해 사용할 repository의 adapter 와 port 를 만들어 사용하는 형태로 해결을 보았다.

더 좋은 방법이 없을까?

지금까지 조사해본 바

db 모듈에 port + adapter 구현 후 api 모듈에서 port를 사용 하는 방식이 제일 적합해보였다.

아니면 api 모듈에서 jpa를 직접적으로 사용해야 하는데

그럴거면 db 모듈을 굳이 따로 둘 필요가 없다고 생각했다. ☹️

api 모듈에서 db 모듈에 의존성을 두는 그 자체가 모순인걸까?

일단 api 모듈에서 db 모듈에 의존성을 두되,
db 모듈에서 사용중인 db 관련 라이브러리는 제외하도록 작성하였다.

db 모듈은 db 직접 연동에 관여하는 기능을 하게 하고 ,

api 모듈은 api 생성 코드만 만들게 하고 싶은데 .,.,.

아니면 api 모듈에서 db 모듈로 api request를 날려야 하는걸가 ☹️
-> (공부 후 추가) 이게 맞는거였다.
MSA에 대해 희미하게 알고 있는 상태에서 다른사람들이 구현한 프로젝트만 찾아보다가 이렇게 구성한 사례를 보지 못해서 아닌줄 알았는데 , MSA에 대해 좀 더 공부해보니 이때 구상했던 모듈 구조에선 이게 맞는거였다.

그런데 왜 이걸 알려주는 강의가 흔치 않을까

뭔가 많이 변한것 같다.

안좋은 방향으로

..

아니면

msa를 서비스하는 사업장이 극히 드문걸까?

profile
Hello velog! 

0개의 댓글