kafka connect란?

Confluent 카프카 설명 인용 링크

Kafka Connect

Kafka Connect는 Apache Kafka와 다른 데이터 시스템간에 데이터를 확장 가능하고 안정적으로 스트리밍하기위한 도구입니다. 대규모 데이터 세트를 Kafka 안팎으로 이동하는 커넥터를 간단하게 정의 할 수 있습니다. Kafka Connect는 전체 데이터베이스를 수집하거나 모든 애플리케이션 서버의 메트릭을 Kafka 토픽으로 수집하여 짧은 대기 시간으로 스트림 처리에 데이터를 사용할 수 있습니다. 내보내기 커넥터는 Kafka 주제의 데이터를 Elasticsearch와 같은 보조 인덱스 또는 오프라인 분석을 위해 Hadoop과 같은 배치 시스템으로 전달할 수 있습니다.

Kafka Connect 및 Kafka 커넥터의 기초 인용

Kafka Connect는 커넥터를 사용하여 데이터베이스, 키-값 저장소, 검색 색인 및 파일 시스템과 같은 외부 시스템 과 Kafka를 연결하기위한 프레임 워크입니다 .

Kafka 커넥터는 바로 사용할 수있는 구성 요소로, 외부 시스템의 데이터를 Kafka 주제로 가져오고 Kafka 주제의 데이터를 외부 시스템으로 내보내는 데 도움이 될 수 있습니다 . 공통 데이터 소스 및 싱크에 기존 커넥터 구현을 사용하거나 자체 커넥터를 구현할 수 있습니다. 소스 커넥터 시스템으로부터 데이터를 수집한다. 소스 시스템은 전체 데이터베이스, 스트림 테이블 또는 메시지 브로커 일 수 있습니다. 소스 커넥터는 또한 애플리케이션 서버에서 Kafka 토픽으로 메트릭을 수집하여 짧은 대기 시간으로 스트림 처리에 데이터를 사용할 수 있습니다. 싱크 커넥터는 같은 Elasticsearch 같은 인덱스 등 하둡과 같은 일괄 처리 시스템 또는 데이터베이스의 모든 종류의 수 있습니다 다른 시스템으로 카프카 주제에서 데이터를 제공합니다. 일부 커넥터는 커뮤니티에서 유지 관리하고 다른 커넥터는 Confluent 또는 그 파트너가 지원합니다. 실제로 S3, JDBC 및 Cassandra와 같은 가장 널리 사용되는 시스템 용 커넥터를 찾을 수 있습니다.

카프카 커텍트란 무엇일까?

카프카 커넥트는 감시하고자 하는 ‘소스’의 변경을 탐지하여 토픽으로 전송하여 줍니다.

모놀릭스서버에서 MSA구조로 전환시 하나의 거대한 데이터 베이스에 서버가 종속되어있다면,

서버를 분리시키기에 어려움이 있을것입니다.

이런경우 카프카 커넥트를 사용한다면

거대한 DB를 감시하고 해당 DB소스를 이종 데이터베이스로 동기화 시키거나,

데이터 변경을 이벤트 토픽으로 발생시키고 다른 서버에서 이벤트 토픽을 Consume하여 이벤트를 작동 시킬수 있을것입니다.

img.png