인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

임동혁님의 프로필 이미지

작성한 질문수

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

Kafka Source Connect 사용

Kafka Source Connect 사용

작성

·

137

0

강사님 너무 좋은 강의 감사드립니다.
JDBC Source Connector 예시를 잘 보았습니다.
해당 소스 커넥터의 경우 DB를 주기적으로 폴링해서 변경사항을 감지해서 DB 부담이 큰 것으로 알고 있는데요.
(CDC source connector에 비해)
혹시 해당 방식의 커넥터는 현업에서도 메이저하게 사용하는 방식인지 아니면 단순 예시인지 궁금합니다.

답변 2

0

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

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

MQ에서 메시지 폴링 방식의 경우 Short, Long polling의 설정으로 폴링의 주기를 제어할 수 있습니다. 변경되지 않은 데이터가 존재할 경우, 폴링 방식을 사용하면 오히려 Cost가 많이 발생할 수 밖에 없기도 합니다. 대신 말씀하셨던 CDC 을 사용하여 데이터 변경 시 변경사항을 알려주는 것이 더 효율적이라고 생각됩니다. 그러나 다른 한편으로는 JDBC Source connector의 사용을 무조건 지양한다고 볼수도 없는 것이, 데이터 구조 및 사용되는 폴링의 양에 따라서는 이것이 최선의 선택이 될 수도 있었던 것 같습니다. Cloud Native 및 MSA에서는 다향성과 다양한 시스템 (서비스) 들을 효율적으로 연계함으로써 최선의 효과를 얻는 것이 필요하다고 생각합니다. 현업에서 이거다라고 하는 것 보다는 사용하기 쉽고, 도입 비용이 낮고, 어느정도 성능이 따라준다면, 좋은 선택지라고 생각됩니다. 추가로, 강의에서는 수강하는 수강생들의 환경이나 학습도에 대해서는 알수 없는 불특정 다수가 대상이기 때문에, 보편적인 데이터 스토리지를 사용하고, 접근하고 이해하기 쉬운 예제를 선택하는 것도 필요하다고 생각됩니다. 명확하게 이겁니다 라는 답변을 드리지 못해 죄송합니다. ^^;

감사합니다.

0

인프런 AI 인턴님의 프로필 이미지

안녕하세요, 인프런 AI 인턴입니다. 임동혁님.

JDBC Source Connector는 데이터베이스의 데이터를 주기적으로 폴링하여 Kafka로 전송하는 방식으로, 사용하기에 따라 효과적일 수도 있고 비효율적일 수도 있습니다. 이러한 방식은 특별한 설정 없이도 다양한 데이터베이스에서 Kafka로 데이터를 전송할 수 있다는 장점이 있지만, 주기적으로 폴링하는 과정에서 데이터베이스에 부하를 줄 수 있다는 단점도 있습니다.

현업에서는 데이터 일관성 및 성능 관리를 위해 여러 접근 방식을 사용합니다. CDC(Change Data Capture) 방식은 데이터가 변경될 때마다 트리거되어 변경 사항을 Kafka에 전송하므로 실시간 데이터 동기화와 데이터베이스 부하 감소에 효율적입니다. 하지만, 이 역시 특정 데이터베이스와 버전에 종속적일 수 있습니다.

아래 유사한 질문과 답변을 참고하여 JDBC Source Connector와 CDC의 사용 사례를 더 깊이 이해하실 수 있습니다:

  1. Kafka와 Kafka Connect에 대해서 질문이 있습니다! - Kafka와 Kafka Connect의 기능과 사용 목적에 대해 자세히 설명하고 있습니다.
  2. Kafka 관련해서 궁금한 점이 있습니다.. - Kafka Connect의 다양한 사용 케이스와 특징을 논의합니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.