강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

작성자 없음

작성자 정보가 삭제된 글입니다.

스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판

인기글 Producer 설계 - Transactional Messaging

MSA -> 모놀리식 패턴으로 수정

해결된 질문

작성

·

74

·

수정됨

0

안녕하세요 선생님
현재 애플리케이션을 MSA에서 모놀리식으로 바꾸고 있습니다.

MSA 에서는 hot-article 애플리케이션에서는

각각의 서비스들과 통신하지 않고 데이터를 저장하기 위해

ArticleCommentCountRepository, ArticleViewCountRepository,
ArticleLikeCountRepository 를 따로 만든 것으로 이해했습니다 .

모놀리식에서는 이 3개의 Count Repository를 따로 만들지 않고 각각의 서비스에 있는 Count Repository 에서 가져오는 것이 더 좋을까요, 아니면
아니면 MSA hot-article 패키지에 따로 count repository를 만드는 것이 좋을까요 ..

선생님의 의견이 궁금합니다 .

답변 2

1

쿠케님의 프로필 이미지
쿠케
지식공유자

태우님, 안녕하세요!

모놀리식에서는 굳이 동일한 데이터를 복제해서 저장할 필요는 없을 것 같네요.

각 서비스의 리포지토리에서 count 가져와도 충분할 것 같습니다!

답변 감사합니다 ! !

0

안녕하세요, 인프런 AI 인턴입니다. 김태우님.

현재 시스템을 MSA에서 모놀리식 아키텍처로 전환하는 과정에서의 질문이군요. 각 서비스를 모놀리식 구조로 통합할 때, 각종 Count Repository 관리에 대한 고민을 하고 계신 것으로 보입니다. 모놀리식 아키텍처에서 Count Repository 사용 방법에 대해 설명해 드리겠습니다.

모놀리식 아키텍처에서 Count Repository 사용 고려사항

  1. 공통 저장소 관리:

    • 중앙 집중식 데이터 관리: 모든 데이터를 중앙 저장소에서 관리하므로, 중복 데이터를 피하기 위해 이미 존재하는 Count Repository를 활용하는 것이 더 효율적입니다.
    • 모든 카운트(댓글, 조회수, 좋아요) 정보를 각 서비스가 아닌 통합된 구조에서 관리하는 방식도 검토할 수 있습니다. 이로 인해 데이터 일관성을 유지하고 코드의 중복을 줄일 수 있습니다.
  2. 유지 관리 및 확장성:

    • MSA에서는 개별 서비스로 분리되어 있었지만, 모놀리식에서는 하나의 응용 프로그램에 통합됩니다. 따라서, 시스템이 복잡해지더라도 데이터 관리가 단순화되는 장점이 있습니다.
    • 기존의 개별 Count Repository를 통합하여 하나의 모듈로 관리하면 유지 보수성과 확장성이 더 좋아질 수 있습니다.
  3. 설계 패턴 선택:

    • 기존 MSA에서의 구조를 모놀리식으로 옮기는 동안, 데이터 접근 계층을 리팩토링하여 각 Repository들을 하나의 응용 애플리케이션 내에서 통합시킬 수 있습니다. 불필요한 중복성을 제거하며, 성능을 최적화하십시오.
    • 만약 데이터 수집에 크게 의존하는 시스템이라면, 캐시나 벌크 연산을 통해 성능을 개선할 수도 있습니다.

이와 관련하여 유사한 주제에 대해 답변을 제공한 커뮤니티 게시글 링크도 참조할 수 있습니다. 다음 링크를 통해 보다 깊이 있는 정보를 확인하세요:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

작성자 없음

작성자 정보가 삭제된 글입니다.

질문하기