해결된 질문
작성
·
255
·
수정됨
답변 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