inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

Kafka를 활용한 데이터 동기화 테스트 ①

재고관리에 카프카 쓴 이유가 궁금합니다.

190

작성자 없음

작성한 질문수 0

0

재고관리에 카프카 쓴 이유가 궁금합니다.
제가 이해한 내용으로는 현재 order와 catalog는 다른 포트를 사용 중이고 같은 DB를 사용 중인걸로 알고있습니다. 그래서 카프카말고 @FeignClient로 재고관리에 업데이트 해주는 방식이 있는 거 같은데 이 상황에서 카프카를 쓴 이유가 있나요?

spring-boot jpa 아키텍처 spring-cloud kafka msa rabbitmq

답변 2

0

Matthew C

4:53초부터 보시면 두 서비스는 서로 다른 독립적 데이터베이스를 사용하고 있는 걸 보실 수 있습니다.

0

인프런 AI 인턴

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

Kafka는 마이크로서비스 아키텍처에서 여러 장점을 제공하는 메시징 시스템으로, 특히 다음과 같은 이점 때문에 많이 사용됩니다:

  1. 확장성: Kafka는 대량의 데이터를 빠르게 처리할 수 있는 확장성을 지닌 시스템입니다. 대규모의 트랜잭션이나 이벤트를 처리하고자 할 때 유리합니다.

  2. 비동기 처리: 서비스 간의 독립성과 성능 향상을 위해, Kafka는 비동기 메시징을 가능하게 합니다. 이것은 각 서비스가 자신의 작업을 비동기적으로 처리하고 다른 서비스의 작업 완료를 기다리지 않는 환경을 조성합니다.

  3. 내결함성: Kafka는 높은 내구성으로 설계되어, 메시지가 손실되지 않도록 보장합니다. 따라서, 데이터 일관성을 유지하는 데 도움이 됩니다.

  4. 재사용 가능성: Kafka에 적재된 메시지는 여러 서비스에서 소비될 수 있습니다. 즉, 하나의 이벤트가 여러 서비스에 영향을 주어야 할 때 유용하게 사용할 수 있습니다.

이러한 이유들로 인해, Kafka는 동시성 높은 환경에서도 안정적으로 작동하는 시스템을 만들 수 있게 합니다.

물론, @FeignClient나 RestTemplate 같은 방법을 사용할 수도 있습니다. 이러한 방법은 비교적 간단하게 사용할 수 있으며 요청-응답 패턴에서 유리할 수 있습니다. 하지만, 비동기적인 메시징을 구현하거나 여러 서비스가 동일한 이벤트를 처리해야 할 때 Kafka의 사용이 더 적합할 수 있습니다.

관련된 추가 정보가 필요하시다면 아래의 기존 질문을 참고하실 수 있습니다:
- 카프카 사용이유가 궁금합니다.
- 단일 데이터베이스 연결

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

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

0

82

1

강의 교안

0

68

1

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

0

77

1

api gateway 에서 인증 처리

0

62

1

섹션 19 질문드립니다

0

50

1

강의 자료 업데이트

0

80

1

부하분산 강의 섹션

0

55

1

강의자료는 어디에서?

0

68

1

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

0

108

1

전체 사용자 조회시 오류

0

56

1

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

0

107

2

학습 방향

0

93

2

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

0

84

2

kafka 강의

0

104

2

서비스 디스커버리 종류

0

85

2

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

0

113

2

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

0

87

2

Kafka Source Connect 버전 에러

0

82

2

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

0

79

2

강의자료 업데이트 문의

0

93

2

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

0

55

1

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

0

110

2

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

0

160

2

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

0

160

2