Kafka 완전 정복 : 클러스터 구축부터 MSA 환경 활용까지/기본,심화 개념, 아키텍처와 생태계

Ch04. Apache Kafka Connect 개념 및 이해 - Apache Kafka Connect

webmaster 2023. 5. 7. 21:29
728x90

System 간 메시지 전송

System 간 메시지 전송이 필요할 때마다 Application을 개발할 것인가?

System 간 메시지 전송이 필요할 때, 이미 잘 만들어진 Kafka Connector를 손쉽게 사용

Data가 만들어지는 Source에서 카프카로 전달해 주는 SourceConnector, 카프카에서 Amazon, hadoop으로 data를 전달해 주는 SinkConnector를 사용하면, 매번 Application을 만들 필요 없다.

Kafka Connect? Connector?

Kafka Connect는 Apache Kafka 안팎으로 데이터를 스트리밍하기 위한 Framework
Kafka Connect는 다른 데이터 시스템을 Kafka와 통합하는 과정을 표준화한 Framework 통합을 위한 Connector 개발, 배포, 관리를 단순화

  • Connectors ‒ Task를 관리하여 데이터 스트리밍을 조정하는 Plugin(jar), Java Class/Instance
  • Tasks ‒ Kafka에서 또는 Kafka에서 데이터를 전송하는 방법의 구현체(Java Class/Instance)
  • Workers ‒ Connector 및 Task를 실행하는 실행 중인 프로세스(Process)
  • Converters ‒ Connect와 데이터를 보내거나 받는 시스템 간에 데이터를 변환하는 데 사용되는 Components(Java Class)
  • Transforms ‒ Connector 에 의해 생성되거나 Connector로 전송되는 각 메시지를 변경하는 간단한 Components(Java Class)
  • Dead Letter Queue ‒ Connect에서 Connector 오류를 처리하는 방법

Connector는 어디서 찾을 수 있나?

  • Source Connector vs Sink Connector
  • Confluent 지원 vs Partner 지원
  • 무료vs상용
  • Confluent Platform 및 Confluent Cloud 사용 가능 여부

Connect Architecture

  • Connect Worker Node상에서 Connect Worker Process가 동작
  • Connect Worker Process가 Connector Instance, Task Instance를 관리

Standalone vs Distributed Workers

  • 대부분의 경우에는 Distributed Workers를 사용한다.

Multiple Distributed Connect Clusters

  • Connect Worker 파라미터중 group.id 를 다르게 하여 Cluster 간 구분

 

728x90