MSA 아키택처 테이블 설계
안녕하세요
MSA 공부를 하면서 개인 프로젝트를 만들고 있는데 테이블 설계 관련해서 궁금한 부분이 있어서 질문드립니다!
보통 모놀리식 아키텍처에서는 하나의 DB에 여러 도메인 별 테이블이 있어서(일반적으로) 조인을 통해 데이터를 가지고 오는 경우 또는
필요에 의해서 다른 도메인의 엔티티 정보를 가지고 오는 경우 가능하지만
MSA 아키텍처 같은 경우 각각의 도메인 별 DB 를 따로 분리하는게 일반적이라고 알고 있습니다
이렇게 도메인 별 DB를 분리 할 경우 조인을 통해 데이터를 가지고 오는 것이 불가능 하고 다른 도메인의 데이터를 가지고 오는게 MSA 설계 상 위배 된다고 알고 있습니다
이런 경우
다른 도메인의 데이터가 필요한 경우 API 호출을 통해서 다른 도메인을 가지고 오는지
또는 조인이 불가능하기 때문에 FK를 두지 않고 그냥 필요한 다른 도메인 정보를 도메인 테이블에 저장 하는지
ex : (
게시판 도메인의 게시글 데이터 같은 경우 작성자 정보가 필요한데 작성자의 FK 를 저장하는게 아닌 작성자의 닉네임, ID등을 그냥 게시글 테이블에 바로 저장
그 후 작성자의 닉네임이 변경 될 경우 이벤트 기반 비동기 메시징을 통해서 해당 닉네임의 게시글 전부 업데이트
)
궁금합니다 답변 주시면 너무 감사합니다!
댓글을 남기려면 로그인이 필요합니다.
로그인 후 이 페이지로 돌아와 바로 댓글을 남길 수 있습니다.