inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

데이터 동기화 문제 ②

마이크로서비스 간 파일 동기화

573

박수현

작성한 질문수 4

0

안녕하세요 강사님.

데이터 동기화와 관련된 강의를 듣다가, DB에 저장되는 데이터가 아닌, 로컬 서버에 저장되어야 하는 파일 데이터는 어떻게 관리해야 하는지 궁금하여 문의드립니다.

각 마이크로서비스가 파일을 저장해야 하는 일이 생긴다면, 이 파일은 어떻게 관리하는 것이 best practice일까요? 제가 생각했을 때는 아래 두 방식 중 2번인데요..

  1. 각 마이크로서비스 로컬에 저장하고 마이크로서비스 간 동기화

  2. 모든 마이크로서비스가 참조하는 외부 스토리지에 저장

강사님의 생각이 궁금하여 문의드립니다.

spring-cloud JPA spring-boot architecture msa Kafka

답변 1

0

Dowon Lee

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

말씀하신 내용도 스토리지 개념으로 파일 시스템을 사용한다면, DB하고 같은 문제일 것 같습니다. Kafka에서도 파일시스템으로 데이터(메시지)를 보내고 받을 수 있기 때문에, Kafka Connect에 File Sink Connector와 File Source Connector를 통해 DB와 동일하게 구성해 보실 수 있습니다.

강의에서도 말씀드렸지만, 공용 스토리지를 사용하는 것과 각각의 서비스에 직접 데이터를 저장하고 동기화 하는 방법은 정해진 답이 있다기 보다는 MSA로 구축하려고 하는 도메인 서비스 및 서비스 룰에 따라서 결정될 거 같습니다. 서비스에서 사용되는 데이터가 독립적일 수도 있고, 공유되는 방식이나 공유되는 시점에 따라서도 분리 원칙이 달라질수도 있어서, 어떤 방식이 최선이라고 말하기는 어려울 것 같습니다. 다만, 강의에서 사용된 구조처럼 간단한 경우라면 공유 데이터 스토리지를 사용하는 것이 더 간단하고 성능에서도 유리할 것 같습니다.

감사합니다.

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

0

116

2

강의 교안

0

107

2

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

0

117

2

api gateway 에서 인증 처리

0

76

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

106

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

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

0

170

2