Kafka Connect 개념

방진혁·2022년 4월 23일
1
post-thumbnail

Kafka Connect

카프카 커넥트는 카프카에서 데이터 파이프라인을 반복적으로 만들어내고 개발하고 운용할때 효과적이다.
카프카 커넥트는 카프카에서 공식적으로 지원하는 플랫폼이다.

Kafka Connect

Kafka Connect는 Kafka Connector가 동작하도록 해주는 프로세스이다.

커넥트는 두가지 종류가 있다.

  1. 단일 실행모드 커넥트
  • 간단한 데이터 파이프 라인을 구성하고 개발하는데 사용
  1. 분산 모드 커넥트
  • 여러개의 커넥트를 하나의 클러스터로 묶어서 운영하는 방식
  • 일부 커넥트에 장애가 발생하더라도 파이프라인을 자연스럽게 Failover(장애 대비 장애 발생시 예비 시스템으로 자동 전환되는 기능)를 통해 나머지 실행중인 커넥트에서 데이터를 지속적으로 처리할수 있도록 도와준다.

Kafka Connector

Kafka Connector는 실질적으로 데이터를 처리하는 코드가 담긴 jar 패키지이다.

커넥터는 두가지로 나뉜다.

1. Sink Connector

특정 Topic에 있는 데이터를 오라클, mySQL, Elastic Search와 같이 특정 저장소에 저장하도록 하는 역할 like Consumer

2. Source Connector

데이터베이스로부터 데이터를 가져와서 토픽에 넣어주는 역할 like Producer

오픈소스 커넥터는 직접 만들 필요가 없다.

Kafka Connect와 Connector의 관계

  • 커넥트를 실행할때 커넥터가 어디에 위치하는지
  • config 파일에 지정해줌으로 관계를 맺을 수 있다.
  • config 파일에는 커넥터의 jar 패키지가 있는 디렉토리를 지정하면 된다.
  • 실행중인 커넥트에서 커넥터를 실행하려면 REST API를 통해 커넥터를 실행할수 있다.
  • 즉 특정 Topic에 있는 데이터를 특정 테이블에 넣고 싶다면 커넥터 정보와 타겟 토픽, 타켓 테이블 정보를 Json 형태로 Api 호출을 하게 된다면 파이프라인이 생기게 되는것이다.

반복적인 파이프라인이 필요하다면 컨슈머를 여러번 만드는 것보다 커넥트를 사용하는것이 효율적이다.

참고
https://www.youtube.com/watch?v=UURmOj6Eaoo

profile
꾸준히 성장하고픈 개발자입니다.

0개의 댓글