Kafka Connect



카프카는 프로듀서와 컨슈머를 쉽게 접속할 수 있도록 ‘Connect API’를 제공한다. 각각 이 API를 이용하여 각종 외부 시스템과 접속한다. 또한 API를 기반으로 카프카에 접속하기 위한 프레임워크로 Kafka Connect 도 제공한다.



Kafka Connect & Kafka Streams



Kafka connect 와 접속하기 위한 플러그인으로 커넥터가 개발되어 있으며 데이터베이스, 키 밸류 스토어, 검색 인덱스, 파일시스템 등의 외부 시스템과 접속할 수 있다. 커넥터에는 몇 가지 종류가 있다. 현재 컨플루언트가 제공하는 커넥터로는 ActiveMQ, IBM MQ, JMS HDFS 나 JDBC 를 이용하영 접속하는 것, 기타 개발사에서 개발해 컨플루언트가 인정하고 있는 것, 커뮤니티에 의해 개발된 것 등이 있다. 시스템 간 또는 제품 간의 접속을 개별 개발자가 만드는 것은 비효율적이기 때문에 재사용성과 품질의 향상을 위해서도 이러한 커넥터들의 존재는 큰 도움이 된다.

또한 카프카에 존재하고 있는 데이터를 스트림 처리하는 Streams API 를 라이브러리화한 Kafka Streams 라는 클라이언트 라이브러리가 준비되어 있다. 사용자는 Kafka Stream 라이브러리를 이용해서 자바 어플리케이션을 만들고, 작동시킬 수 있기 때문에 카프카 입출력에 사용하는 스트림 처리 어플리케이션을 비교적 쉽게 구현할 수 있다.



소스 & 싱크


Kafka Connect 에서는 카프카에 데이터를 넣는 프로듀서 쪽 커넥터를 소스 라고 부르고, 카프카에서 데이터를 출력하는 컨슈머 쪽의 커넥터를 싱크 라고 한다.



환경 구성


카프카 클러스터와 카프카 커넥터가 필요다.

Kafka Connect는 카프카 클러스터의 브로커와 함께 설치해 실행한다.

Zookeeper 설치


kafka 설치