인프런 커뮤니티 질문&답변

박정선님의 프로필 이미지

작성한 질문수

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

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

kafka 관련해서 궁금한 점이 있습니다..

해결된 질문

24.07.14 15:56 작성

·

146

0

안녕하세요. 현재 강의 너무 재밌게 듣고있습니다. 아무래도 제가 카프카에 대해 잘 모르다보니 감이 없어 이해도가 낮습니다. 조금 부족한 질문이라도 이해 부탁드립니다. ㅠㅠ 

  1. 현재 강의에서 프로젝트에서 생성한 구조는 kafka source connector가 없이 kafka sink connector만 만들고 직접 kafka topic에 저장하고 이를 동기화시키는 방식이라고 이해했습니다. 혹시 제가 이해한 구조가 맞을까요? 혹시 현업에서도 source connector가 굳이 필요 없다면 위와 같은 구조로 사용해도 상관 없을까요?

  2. 현재 MSA 관련 프로젝트를 준비하고있으며. DB를 서비스별로 어떻게 분리해야할지 굉장히 고민하고 있습니다. 만약 배포되는 모든 서비스가 각자 다른 db를 가지고 있는 방식으로 구성해야한다면, 동일한 도메인 내에 있는 서비스는 db를 동기화를 시켜주는 작업이 필요할 것 같은데요. 제가 테스트해본 결과 source connector쪽 db에 데이터를 삽입했을 때는 sink connector쪽 db에도 데이터가 똑같이 삽입되지만, source connector쪽 db 데이터를 삭제하거나 수정하는 경우는 반영이 안되는 것을 확인했습니다. 혹시 이런 상황에서 참고할만한 키워드나 문서가 있을까요? ㅠㅠ

답변 1

0

Dowon Lee님의 프로필 이미지
Dowon Lee
지식공유자

2024. 07. 15. 07:16

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

말씀하신 내용처럼 강의에서는 Source connector 없이 Sink connector만으로 예제를 구성하였습니다. Sink connector와 Source connector가 반드시 Pair로 구성되어야 하는 것이 아니기 때문에, Topic에 정보를 업데이트 하는 쪽과(Source connector) Topic으로부터 정보를 가져오는 쪽(Sink connector)으로 분리하여 작업하시면 좋을 것 같습니다.

두번째 질문은 Kafka connect의 특징에 관련된 부분인 것 같습니다. 이전 버전으로 작업시 Insert와 Update는 가능해도 Delete 작업은 지원되지 않는 것으로 기억했는데, 아래 문서를 다시 확인해 보니 Delete 옵션이 있는 것 같습니다. 해당 작업은 저희도 다시한번 테스트 해 보도록 하겠습니다.

JDBC Sink Connector for Confluent Platform | Confluent Documentation

감사합니다.

박정선님의 프로필 이미지
박정선
질문자

2024. 07. 15. 23:23

답변 감사합니다. ㅠㅠ 저도 조금 더 찾아보겠습니다.