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

하하호호님의 프로필 이미지
하하호호

작성한 질문수

카프카 완벽 가이드 - 커넥트(Connect) 편

카프카 커넥트(Kafka Connect) 소개

안녕 하세요~~

해결된 질문

작성

·

255

·

수정됨

0

2가지 궁금한게 있는데요

첫번째는 카프카 커넥트와 직접 코드로 구현되는 컨슈머 중 하나를 선택해야 할 때 어떤 기준으로 선택하는 것이 좋을까요?

커넥트 장점을 보면 추측은 가능하지만 경험이 없으니 실무에서 어떨 때는 커넥트, 어떨 때는 컨슈머 직접 구현을 선택할 수 있는지(이건 경험 꽤 많아요) 기준이 궁금합니다

 

두번재는 자동으로 토픽 생성시에 시스템 종료하면 어떤게 문제가 될까요?

그레이스 풀 셧다운 관련인지 어떤 문제가 생기는지 궁금합니다

 

감사합니다.

답변 2

1

권 철민님의 프로필 이미지
권 철민
지식공유자

안녕하십니까,

Connect의 장점은 소개 영상에서도 말씀 드리듯이, 다양한 Data Source에 있는 데이터를 Kafka와 연동할 때 가장 큰 장점이 있습니다.

가령 RDB나 MongoDB등의 데이터 변경 사항을 Kafka로 연동할 때 Producer/Consumer 만으로는 모든 데이터를 제대로 연동하는 프로그램을 개인이 만들기는 거의 불가능 합니다. 단순히 JDBC등을 이용해서 Producer/Consumer를 구현해서 연동하기에는 너무나 고려해야 할 사항이 많기 때문입니다.

때문에 Data Source 벤더나 3rd Party에서 솔루션 레벨로 제공되는 connector를 이용하는 것이 가장 효율적입니다. 기업내에는 많은 Data System들이 있고, 이들을 Kafka로 연동하는데 가장 빠르고 효율적인 방법은 Connect를 이용하는 것입니다.

Producer/Consumer를 이용해서 직접 코드를 작성하는 경우는 메시지를 생산하는 Application이 직접 Kafka로 메시지를 전송하는 경우나 Application이 Kafka로 메시지를 읽고 바로 처리해 버리는 경우입니다.

Connect의 경우는 읽어 들일 Data Source 또는 Write할 Data Target 시스템이 있어야 합니다. 해당 시스템이 아예 없거나, 필요하지 않을 경우, Application이 로직상으로 메시지를 생성후 바로 전송하거나, 메시지를 읽고 바로 로직을 처리해야 하는 업무의 경우는 Producer/Consumer로 작업하시는게 더 좋을 수 있습니다.

그리고 두번째 질문은 제가 잘 이해를 못했습니다만,

토픽을 생성할 때 시스템이 죽으면... 시스템이 죽는 순간 이전에 토픽이 만들어졌으면, 토픽이 생성되는 것이고, 그렇지 못하면 토픽이 생성되지 않습니다. 그레이스풀 종료는 Application이 종료될 때 Consumer를 종료 시키고, Application을 종료 시킬 때 주로 사용합니다.

감사합니다.

0

하하호호님의 프로필 이미지
하하호호
질문자

안녕 하세요 답변 감사드립니다~~

 

하하호호님의 프로필 이미지
하하호호

작성한 질문수

질문하기