반응형

카프카 커넥트 역활

  • 소스 시스템의 데이터를 카프카 커넥트를 통해 카프카로 전송합니다.
  • 카프카에 저장된 데이터는 카프카 커넥트를 통해 싱크 시스템으로 전송합니다.
  • 카프카 커넥트가 데이터 전송 처리하는 역할을 담당합니다.

 

카프카 커넥트 기본 용어

  • 커넥터(connector): 외부 시스템과 카프카 커넥트 런타임 간의 인터페이스 역할, 태스크들을 관리하며, 소스 커넥터와 싱크 커넥터로 구분
  • 태스크(task): 실제 카프카와 시스템 사이에서 데이터를 가져오거나 보내는 작업을 처리
  • 워커(worker): 커넥터 및 태스크를 실행하는 프로세스
  • 컨버터(converter): 커넥터와 데이터를 보내거나 받는 시스템 간의 데이터 포맷 간에 레코드를 시리얼라이즈 또는 디시리얼라이즈 처리
  • 트랜스폼(transform): 레코드를 보내거나 받을 때 레코드를 간단한 로직으로 변환

 

카프카 커넥트 동작

  • 다양한 종류의 커넥터가 존재합니다.
  • 커넥터들은 Confluent Hub에서 확인 가능합니다.

 

카프카 커넥트 동작 예시

데이터베이스에서 지속적으로 생성되는 데이터를 HDFS로 전송해야 하는 상황입니다. 이 작업은 두 단계로 나누어 진행됩니다.

  1. 데이터베이스 → Kafka
  2. Kafka → HDFS

1 단계: 데이터베이스에서 Kafka로 데이터 전송

첫 번째 단계에서는 Kafka Connect의 JDBC 커넥터를 활용할 수 있습니다. JDBC 커넥터는 소스 데이터베이스에서 변경 데이터를 추출하여 Kafka로 전송하는 역할을 합니다.

아래 그림과 같이, 커넥터를 생성하기 위해 필요한 설정 값을 입력한 후 REST API를 호출하면, 커넥터가 즉시 생성됩니다.

JDBC 커넥터는 내부적으로 데이터를 수집하는 **태스크(Task)**를 실행하며, 이 태스크들은 커넥터가 관리합니다.
필요에 따라 tasks.max 옵션을 설정하여 실행할 태스크의 수를 조절할 수 있습니다.

 

2 단계: Kafka에서 HDFS로 데이터 전송

두 번째 단계에서는 Kafka Connect의 HDFS 커넥터를 사용합니다. HDFS 커넥터는 Kafka에 저장된 데이터를 HDFS로 전송하는 역할을 합니다.

JDBC 커넥터와 마찬가지로, HDFS 커넥터에 필요한 설정 값을 입력한 후 REST API를 호출하면 커넥터가 생성되며, Kafka 토픽의 데이터를 HDFS에 저장하기 시작합니다.

 

 

반응형

+ Recent posts