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

Kyung Lin님의 프로필 이미지
Kyung Lin

작성한 질문수

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

Orders Microservice 수정 - Order Kafka Producer

kafka sink connector 관련 질문드립니다

작성

·

399

0

안녕하세요, 도원님.

좋은 강의 덕분에 MSA 관련 지식이 많이 느는 것 같아 감사합니다.

 

다름이 아니라, kafka sink connector 쪽 관련해서 문의드리고 싶은 내용이 있어 질문을 올리게 되었습니다.

confluent 의 kafka sink connector 공식 문서를 봤을 때, sink connector 는 at least once delivery 를 보장한다고 하는데, 만약 그런 경우가 발생하면 실제로 같은 데이터가 2번 적재되는 현상이 생길 거 같습니다. 

 

이런 경우를 위해 따로 처리를 하는 로직을 넣어야하는지, 아니면 그냥 sink connector 내부에서 밀어넣었는데 에러가 나고 이를 넘기는 방향으로 처리를 하는지 여쭤보고 싶습니다.

답변 1

2

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

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

kafka sink connector를 생성하실 때, insert.mode를 이용하여 insert를 할 지 update를 할 지 선택할 수 있습니다. 

https://docs.confluent.io/kafka-connect-jdbc/current/sink-connector/sink_config_options.html

update를 하실 때의 기준의 기존 데이터의 저장 된 시간과 차이가 있을 경우에 업데이트 하게 되는데, 이를 위해 update date 컬럼을 같이 지정해 주시면 됩니다. 

감사합니다. 

Kyung Lin님의 프로필 이미지
Kyung Lin

작성한 질문수

질문하기