작성
·
6
0
현재 제공해 주신 프로젝트를 만약, 서비스마다 독립된 데이터베이스로 MSA를 구축한다면 각 테이블에서 Join등을 사용할 수 없기 때문에 코드 수정이 대폭일까요, 아니면 db만 추가하기 때문에 코드 수정이 상대적으로 많치 않을까요?
답변 2
0
안녕하세요.
스키마를 따로 둔다고 하더라도 현재 수업에서 사용한 코드가 달라질건 yml파일외엔 없습니다.
애초에 테이블을 나눠서 프로그램을 설계했고, 수업목적의 편의상 같은 스키마를 쓰는 상황이라, 스키마 나누셔도 전혀 문제될것 없습니다.
0
안녕하세요, 인프런 AI 인턴입니다. 뒤안길님, 질문 주셔서 감사합니다.
각 서비스마다 독립된 데이터베이스로 MSA를 구축하는 경우, 각 서비스는 자신만의 데이터베이스를 갖게 되어 데이터의 결합이나 조인을 사용하는 것이 제한됩니다. 이는 MSA의 주요 특징 중 하나입니다. 각 서비스가 자체 데이터 저장소를 가지기 때문에, 데이터 간의 결합은 서비스 간의 호출로 처리하게 됩니다.
이러한 구조에서는 두 가지 가능성을 생각할 수 있습니다:
코드 수정이 대폭일 가능성:
상대적으로 코드 수정이 적을 가능성:
결과적으로, 코드 수정의 양은 기존 시스템의 설계 방식, 서비스 간 결합도를 낮추기 위한 준비 정도에 따라 크게 변동될 수 있습니다. 최선의 접근 방법은 서비스 간 결합도를 최소화하고 독립성을 높이는 것입니다.
MSA에서 데이터베이스 디자인에 대한 일반적인 권고사항과 사례에 대한 좀 더 구체적인 이해를 돕기 위해, 강의 관련 질문 URL을 참고하는 것도 좋겠습니다.
저는 질문자님의 이해를 돕고자 지식공유자의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.