without haste but without rest

카프카 커넥트 본문

Data Engineering & DataOps/Kafka

카프카 커넥트

JinungKim 2022. 1. 13. 18:34
아파치 카프카 애플리케이션 프로그래밍 with 자바

Kafka Connect

카프카에 기본적으로 포함되어 있는 애플리케이션이다. 프로듀서, 컨슈머 애플리케이션을 직접 개발할 필요없이 템플릿 기반으로 사용할 수 있다.

source, sink에 대한 플러그인은 confluent hub에서 검색해서 찾을 수 있다. 


1. 아키텍처에 대한 간단한 요약

유저가 커넥트에 커넥터 생성을 요청하면 커넥트는 내부에 커넥터와 태스크를 생성한다.

커넥터는 태스크를 관리하고, 태스크는 커넥터에 종속되는 개념으로, 데이터를 처리를 담당 한다.

 

유저는 Converter와 Transform 기능을 옵션으로 추가할 수 있다.

  • 컨버터는 데이터 처리를 하기 전에 스키마를 변경하도록 돕는다. JsonConverter, StringConverter, ByteArrayConverter를 기본으로 제공하고 이외는 jar파일을 추가해서 사용할 수 있다.
  • 트랜스폼은 데이터 처리 시 각 메시지 단위로 데이터를 간단하게 변환하기 위한 용도로 사용된다. ex) Json 데이터 처리 시 특정 키를 삭제하거나 추가할 수 있다.

2. Standalone Mode

프로세스를 한 개만 실행한다. 단일 프로세스로 구성되기 때문에 고가고용성을 보장하지 못한다.


3. Distributed Mode

분산 모드는 커넥트를 두 대 이상의 서버에서 클러스터 형태로 운영하는 방법이다. 커넥트가 클러스터로 묶이면 커넥트 하나가 이슈로 인해 중단 되더라도 남은 1개의 커넥트가 파이프라인을 지속적으로 처리할 수 있다.


Comments