상세 컨텐츠

본문 제목

Kafka Connect 공부하기 (1)

Data Engineer

by 데이터 개발자 2024. 9. 18. 14:04

본문

오늘은 Kafka Connect를 정리해보려고 한다.

 

Kafka Connect 란?

Kafka Connect는 Kafka 와 다른 System들을 연동하는 툴이다.

오픈소스로 Apache Kafka의 컴포넌트 중 하나이다.

 

Kafka Connect 이외에 ksqlDB, Kafka Streams 도 있지만, 오늘은 Kafka Connect 에 대해서 알아봤다.

쉽고 간단하게 Connector를 구성하여 다양한 데이터 소스에서 카프카와의 연동이 가능하다.

 

 

 

Kafka Connect 개념

Kafka Connect에서 사용되는 개념이 있는데 간단히 정리해보자.

  • Connectors : Tasks들을 관리하는 추상화 데이터 스트림
  • Tasks : 데이터를 어떻게 카프카로 복사하기 위한 구현
  • Workers : Connector와 Task들이 실행되는 프로세스
  • Converters : Kafka Connect와 다른 시스템들을 메시지를 주고 받을 때 데이터를 변환
  • Transforms : 메시지 하나에 간단한 로직을 처리해 connector로 전달
  • Dead Letter Queue : 에러 로그를 처리하는 것

 

 

Connectors & Tasks

 

우선 ConnectorTaks을 조금 더 자세히 알아봤다.

Conenctors는 실제 데이터를 복사를 수행할 Task들을 생성하게 된다.

하나의 Conectors를 통해 여러개의 Task들을 관리 할 수 있다.

 

Connector는 크게 2개로 나뉜다

  • Source Connector : 데이터베이스, 외부 시스템을 Kafka Topic으로 저장한다 (DB -> Kafka)
  • Sink Connector : Kafka Topic의 데이터를 여러 시스템들과 연동한다 (Kafka -> DB)

 

Connectos를 통해 생성 된 Task들은 실제로 데이터를 이동시키는 작업 단위이다.

하나의 Connector에는 여러 Task들이 병렬로 실행되고 각 Task는 특정 파티션을 처리하며 독립적으로 처리한다.

Task 수는 Connector 설정을 통해 조정할 수 있다.

이때 Taks 수를 늘리면 병렬 처리가 가능해 전체적인 처리량이 올라간다. (파티션수와 디펜던시가 있다)

 

각 Connector에는 여러개의 tasks들이 존재하고 task들이 실질적으로 데이터를 복사한다.

Tasks는 개별적으로 상태(state)를 저장하는 저장소를 가지고 있지 않다.

그렇기때문에 상태 저장을 위해서 kafak topic을 이용하게 된다. (config.storage.topic, status.storage.topic 설정)

 

 

Workers

Worker는 Connector와 Task들이 논리적인 단위로 실행되는 프로세스이다.

분산 환경과 Standalone 모드에 따라 Standalone Workers, Distributed Workers 로 나뉜다.

 

분산환경의 경우 Woker들은 동일한 group.id 를 가지게 된다.

아래 예시처럼 Worker1~3은 모두 동일한 group.id를 가지며 동작하게 된다.

2개의 Connector가 동작하고 있고 Connector 1은 Task가 3개, Connector 2는 Connector 가 2개로 동작하는 것을 확인할 수 있다

Distirubuted Mode

 

 

 

Converters

Converters는 특정 데이터 format으로 데이터를 카프카로 읽거나 쓸때 사용된다. (Serialization/Deserialization)

String, ByteArrary, Json 뿐만아니라 Schema Registry와 사용이 가능한 Avro, ProtoBuf, JsonSchema 등 다양한 데이터 포맷을 지원한다.

 

 

 

 

Reference

 

 

오늘은 Kafka Connect의 기본 개면에 대해서 정리해봤다.

 

 

 

관련글 더보기