inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

데이터 동기화에 대해 질문이 있습니다1

292

황주환

작성한 질문수 9

0

안녕하세요 도원선생님 

선생님의 강의를 바탕으로 스프링클라우드를 활용하여 마이크로서비스를 만드는 연습을 하고 있습니다.

현재 강의에서 3개의 도메인을 가지고 예제를 진행하셨는데

혹시 상품의 이름이 변경되었을 경우 주문에서의 상품 이름은 어떻게 변경되게할지 고민입니다.

예를 들면 상품이 업데이트 할 경우 Kafka에 메세지를 보내고 주문 서비스에서 메세지를 수신한뒤 업데이트 된 상품 이름에 대해 수정하면 된다고 생각했는데 이게 맞는 걸까요...?

그리고 혹시 만약 상품을 여러개 주문할 수 있다고 가정할 시 

주문 이라는 애그리거트 안에 주문_상품이라는 엔티티가 생길거 같습니다.

그러면 주문 과 관련된 모든 상품에 대한 정보를 조회하는 기능을 구현할 때는 

주문_상품에 있는 상품과 관련된 상품 id나 상품 코드를 List로 만든뒤 상품 서비스에 가서 In쿼리로 조회하고 나서 응답하는 걸까요??

Kafka msa spring-boot JPA architecture spring-cloud

답변 2

1

Dowon Lee

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

위에 kkkh0712님이 말씀하신 것 처러, 주문 정보에는 상품에 대한 기본 키(ID 등)만 저장하면 됩니다. 상품명에 대한 변경은 상품에 관련있는 정보이지, 주문 자차에 대한 정보가 아니기에, 주문-상품 간의 관계에서는 관계키로 사용될 수 없습니다. 그리고 주문에 여러 상품이 사용되었을 때도, 주문 하나에 여러 상품에 연결되어 하는 것이기 때문에, 주문에는 상품들에 대한 전체 금액이나 주문자, 주문 시간 등을 기록하고, 주문에 사용된 각 상품들은 별도로 저장하는 것이 좋을 것 같습니다. 예를 들어 1번 상품의 상품ID, 가격, 수량, 금액, 2번 상품의 상품 ID, 가격, 수량, 금액 등을 기록하면 될 것 같습니다. 이 때 상품의 이름이 변경되었다고 해서, 전체 주문내역이나 주문의 상세내역에서 상품명을 변경하지는 않습니다. 

다음으로, 주문과 관련된 모든 상품에 대한 조회를 할 때도 개별적인 상품 ID를 따로 저장하고 있었기 때문에, 상품 자체의 상세 정보를 얻기 위해서는 상품에서 상품 ID들만 조회하면 될 것 같습니다. 물론 In 쿼리를 사용하시면 되겠네요. 

감사합니다. 

0

kkkh0712

주문 정보에 상품 이름이 있을 필요는 없어보입니다. 상품의 id만 가지고있으면 되지 않을까요?

0

황주환

그러면 주문_상품에 상품 이름이 없고 상품ID만 가지고 있다면 상품서비스에서 In쿼리로 조회하고 응답하는게 맞는건가요?

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

0

91

2

강의 교안

0

79

2

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

0

87

2

api gateway 에서 인증 처리

0

67

1

섹션 19 질문드립니다

0

60

2

강의 자료 업데이트

0

87

2

부하분산 강의 섹션

0

59

1

강의자료는 어디에서?

0

78

2

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

0

114

2

전체 사용자 조회시 오류

0

60

1

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

0

113

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

114

2

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

0

163

2

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

0

167

2