feignclient와 kafka를 사용하는 방법의 이점
909
작성한 질문수 1
안녕하세요 강의 잘 보고 있고 질문있어 글 남깁니다.
현재 catalogservice에서 수량 update를 kafka를 하고 계신데, 수량 update는 feign client를 통해 서버간 api 호출을 통해서도 가능할 것 같습니다. 그런데 단순히 카프카의 여러가지 이점을 위해서 feign client를 사용한 서버 간 api 호출보다 해당 방식이 더 좋은건가요? feign client를 사용한 방식은 별로인 상황인가요?
그리고 혹시 만약 catalog 서비스 외의 다른 서비스에서도 catalog의 수량에 관심이 있어 order가 발행하는 수량 업데이트 메시지에 관심이 있다면 해당 서비스에서도 그대로 consumer 로직을 설정하면 데이터를 받을 수 있는 것인가요? 즉 데이터를 A가 가져간다하더라고 해당 데이터가 카프카 서버에 그대로 남아 다른 서비스(b)에서도 데이터를 받을 수 있는 것인지 궁금합니다.
답변 1
1
안녕하세요, 이도원입니다.
말씀하신대로 order-srevice와 catalog-service간의 데이터 동기화 부분(수량)을 위해 Kafka를 사용하는 것 대신 RESTful API(또는 feign client)를 호출하셔도 됩니다. 데이터 동기화를 위한 부분으로 양 서비스간에 호출 적절한 처리가 되어 있다면 어떤 방식이던 상관이 없을 거 같습니다. 다만 강의에서는 Kafka라는 MQ를 사용해 보기 위한 용도로써, 데이터 동기화라는 부분에서 두 서비스 간의 호출이 발생될 수 있음을 보여 드렸습니다. 물론 데이터 동기화는 이렇게 단순한 처리 외에도 롤백에 대한 부분도 고려하셔야 하기 때문에, 추가 작업이 더 필요합니다만, 간단한 Kafka의 사용 용도 및 데이터 동기화 처리에 대한 방법을 설명드릴 수 있었다고 생각됩니다.
Kafka 토픽에 저장된 정보는 새로운 Consumer가 등록되면 그대로 사용할 수 있습니다. 새로운 Consumer는 참여 당시부터 Topic의 메세지를 받거나 처음부터 받아오거나 하는 식으로 원하는 메시지를 지정하여 받아 올 수 있습니다.
감사합니다.
rabbitmq에 configservice 연결에 대해 질문있습니다.
0
15
1
kafka 업데이트 강의 듣고 시포요
0
118
2
강의 교안
0
108
2
마이크로서비스간 통신 시, 인증 처리
0
118
2
api gateway 에서 인증 처리
0
77
1
섹션 19 질문드립니다
0
87
2
강의 자료 업데이트
0
105
2
부하분산 강의 섹션
0
67
1
강의자료는 어디에서?
0
99
2
강의 자료는 어디서 다운 받을 수 있나요?
0
133
2
전체 사용자 조회시 오류
0
66
1
혹시 pk 외 별도의 id 를 부여한 이유가 있을까요 ??
0
122
2
학습 방향
0
107
2
카프카 커넥터 사용 목적 문의
0
93
2
kafka 강의
0
119
2
서비스 디스커버리 종류
0
91
2
강의 자료에 대해서 궁금해요
0
126
2
GlobalFilter, LoggingFilter가 동작하지 않습니다.
0
97
2
Kafka Source Connect 버전 에러
0
98
2
소스커넥터는 사용안한 거 맞죠?
0
86
2
강의자료 업데이트 문의
0
101
2
강의에서 BCryptPasswordEncoder 에 역할(5-2)
0
64
1
강의 업데이트 계획이 궁금합니다.
0
122
2
MSA 애플리케이션에 Spring Web과 Spring Data JPA를 사용하는 것이 바람직한지 궁금합니다. (MSA 설계와 관련된 질문입니다)
0
168
2





