inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)

주문목록에 회원정보 추가

197

최성영

작성한 질문수 1

0

안녕하세요 강사님. 유익한 강의 정말 잘듣고있는 초급 개발자입니다.

강의를 들으면서 긍금증이 생겨서 질문드립니다

orderservice에서 user정보 사용에 대한 다른 비슷한 질문들을 봤습니다.

서비스간 테이블을 각각 만들어서 동기화를 하거나 orderservice에서 userservice api를 사용하는 방법이 있다는 답변 보았습니다.

이경우는 주문 한건에 대한 내용인것 같습니다. 그렇다면 여러사용자가 주문한 주문목록에 사용자정보를 들고오려면(게시판-회원과 동일) 어떻게 설계가 되어야하나요?

orderservice에서 주문목록을 조회하고 그 리스트를 돌면서 userservice api에서 유저정보를 조회하면 N+1문제와 같은 상황 발생할 것 같은데 무조건 테이블을 각각 생성해야하나요?

일반적으로 어떻게 처리하는지 궁금합니다!

 

두서없는 질문 정말 죄송합니다..

 

msa Kafka spring-boot architecture spring-cloud JPA

답변 1

1

Dowon Lee

안녕하세요, 이도원입니다.

말씀하신 내용처럼 order-service와 user-service가 분리되어 설계된 경우에, 개별 사용자에 대한 주문 내역을 가져오는 부분에서는 큰 이슈가 없지만, 전체 사용자에 대한 주문내역을 가져오는 부분을 order-service에서 처리할 때는 매 주분 정보마다 사용자 정보를 user-service에서 가져와야 할 수도 있습니다. 다만, 이러한 비지니스 로직이 말씀하신 주문목록이라는 페이지에서 사용자의 정보를 함께가져와야 하는 부분인지, 아니면, 주문의 상세 내역과 같은 별도의 기능에서 가져와야 하는지에 따라서, 각 서비스가 처리해줘야 하는 로직을 결정해야 할 것 같습니다. 강의에서는 order, user 서비스에 맞는 개별적인 DB를 사용했지만, MSA를 설계할 때 테이블을 무조건 분리한다기 보다는, 도메인에 따른 업무 로직에 따라, 서비스에 대한 DB를 분리하거나 통합하거나, 동기화 하거나 하는 부분을 설계할 필요가 있습니다. Kafka와 같은 메시지 브로커에 대한 매커니즘을 MSA에 도입해 보는 한 예로써, 테이블을 분리한 목적도 있기 때문에, MSA의 서비스를 분리하실 때, 주문과 사용자 서비스가 포함되는 형태가 되는 경우도 많습니다. 먼저, 각 서비스에서 필요로 하는 api를 설계해 보고, 서비스간의 유사성과 중복성, 종속성, 응집도 등을 고려해서 분리하는 방법을 고려해 보시면 어떨까 합니다.

추가 질문 사항 및 의견은 언제든지 남겨주세요.

감사합니다.

kafka 업데이트 강의 듣고 시포요

0

91

2

강의 교안

0

80

2

마이크로서비스간 통신 시, 인증 처리

0

87

2

api gateway 에서 인증 처리

0

67

1

섹션 19 질문드립니다

0

60

2

강의 자료 업데이트

0

88

2

부하분산 강의 섹션

0

59

1

강의자료는 어디에서?

0

80

2

강의 자료는 어디서 다운 받을 수 있나요?

0

114

2

전체 사용자 조회시 오류

0

60

1

혹시 pk 외 별도의 id 를 부여한 이유가 있을까요 ??

0

114

2

학습 방향

0

96

2

카프카 커넥터 사용 목적 문의

0

87

2

kafka 강의

0

109

2

서비스 디스커버리 종류

0

87

2

강의 자료에 대해서 궁금해요

0

119

2

GlobalFilter, LoggingFilter가 동작하지 않습니다.

0

91

2

Kafka Source Connect 버전 에러

0

90

2

소스커넥터는 사용안한 거 맞죠?

0

82

2

강의자료 업데이트 문의

0

97

2

강의에서 BCryptPasswordEncoder 에 역할(5-2)

0

59

1

강의 업데이트 계획이 궁금합니다.

0

115

2

MSA 애플리케이션에 Spring Web과 Spring Data JPA를 사용하는 것이 바람직한지 궁금합니다. (MSA 설계와 관련된 질문입니다)

0

163

2

어떤 것이 업데이트 된 건가요?

0

167

2