MSA -> 모놀리식 패턴으로 수정
118
작성자 없음
작성한 질문수 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 사용 고려사항
공통 저장소 관리:
- 중앙 집중식 데이터 관리: 모든 데이터를 중앙 저장소에서 관리하므로, 중복 데이터를 피하기 위해 이미 존재하는 Count Repository를 활용하는 것이 더 효율적입니다.
- 모든 카운트(댓글, 조회수, 좋아요) 정보를 각 서비스가 아닌 통합된 구조에서 관리하는 방식도 검토할 수 있습니다. 이로 인해 데이터 일관성을 유지하고 코드의 중복을 줄일 수 있습니다.
- 중앙 집중식 데이터 관리: 모든 데이터를 중앙 저장소에서 관리하므로, 중복 데이터를 피하기 위해 이미 존재하는 Count Repository를 활용하는 것이 더 효율적입니다.
유지 관리 및 확장성:
- MSA에서는 개별 서비스로 분리되어 있었지만, 모놀리식에서는 하나의 응용 프로그램에 통합됩니다. 따라서, 시스템이 복잡해지더라도 데이터 관리가 단순화되는 장점이 있습니다.
- 기존의 개별 Count Repository를 통합하여 하나의 모듈로 관리하면 유지 보수성과 확장성이 더 좋아질 수 있습니다.
- MSA에서는 개별 서비스로 분리되어 있었지만, 모놀리식에서는 하나의 응용 프로그램에 통합됩니다. 따라서, 시스템이 복잡해지더라도 데이터 관리가 단순화되는 장점이 있습니다.
설계 패턴 선택:
- 기존 MSA에서의 구조를 모놀리식으로 옮기는 동안, 데이터 접근 계층을 리팩토링하여 각 Repository들을 하나의 응용 애플리케이션 내에서 통합시킬 수 있습니다. 불필요한 중복성을 제거하며, 성능을 최적화하십시오.
- 만약 데이터 수집에 크게 의존하는 시스템이라면, 캐시나 벌크 연산을 통해 성능을 개선할 수도 있습니다.
- 기존 MSA에서의 구조를 모놀리식으로 옮기는 동안, 데이터 접근 계층을 리팩토링하여 각 Repository들을 하나의 응용 애플리케이션 내에서 통합시킬 수 있습니다. 불필요한 중복성을 제거하며, 성능을 최적화하십시오.
이와 관련하여 유사한 주제에 대해 답변을 제공한 커뮤니티 게시글 링크도 참조할 수 있습니다. 다음 링크를 통해 보다 깊이 있는 정보를 확인하세요:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
@Version 어노테이션이 붙은 필드는 낙관적 락이든 비관적 락이든 업데이트가 됩니다.
0
31
1
consumer에서 에러가 발생할 경우 데이터 유실 문의
0
47
2
게시글 테스트 데이터 삽입
0
51
2
정렬, 필터, 검색 등의 조건이 붙을 경우 최적화할 수 있는 방법이 무엇이 있을까요?
0
104
2
좋아요 기능 정합성 보장 방법
0
98
2
좋아요 동시성처리 최적의 선택?
1
136
2
프론트엔드 msa 환경 api 주소 통합? 과 서버끼리 통신 방식에대해
0
92
2
안녕하세요 무한스크롤 강의듣다가 질문이 있습니다.
0
59
1
조회수 조회 로직 질문
1
67
2
비로그인 유저도 어뷰징 방지 정책
1
73
2
CommentServiceTest의 테스트 로직 질문
0
54
2
무한 스크롤 방식에서 페이지 번호 방식 쿼리의 문제점 의문
1
74
2
path 쿼리 관련 질문드립니다!
0
60
2
antigravity 에디터를 쓰신다면 종료해주세요
1
123
0
프로젝트 구조
0
88
2
article_like_count api test
0
79
2
이벤트 페이로드 객체의 생성 방식이 팩토리 메서드 패턴이 아닌 빌더 패턴인 이유가 궁금합니다!.
0
104
2
[33. 좋아요 수 구현] 에서 테스트 하는 화면 동시성 문제
0
91
2
findByPath에서 articleId로도 검색을 해야 할 것 같아요.
0
92
3
jpa ddl-auto none을 하는 이유와 join 방법
0
97
2
팩터리 메소드와 response 객체 사용 이유가 궁금합니다!
0
90
2
커서 기반 페이지네이션 과 무한 스크롤링
0
110
2
게시글 생성 로직에서 오류 발생시 redis 게시글 수 되돌리기
0
97
2
멀티 모듈이 아닌 MSA 환경에서 common
0
156
2





