카프카 커넥트는 데이터 파이프라인 생성 시 반복적인 작업을 줄이고, 효율적인 전송을 하기 위한 애플리케이션이다.
누추하게 나마 그림을 그려보았습니다.. (공대오길 잘했다..)
실질적인 데이터 처리는 커넥터 에서 담당하는데, 사용자가 커넥트에 커넥터 생성 명령을 내리면 커넥트가 내부에 커넥터와 태스크를 생성한다.
여기서 커넥트와 커넥터 용어가 헷갈릴 수 있는데, 커넥트는 config등 환경을 설정해주는 역할이고 데이터 처리는 커넥터 에서 처리된다.
MySQL, S3, MongoDB 등과 같은 저장소가 대표적인 소스 어플리케이션, 싱크 어플리케이션인데, 소스 애플리케이션에서 가져온 데이터를 커넥트를 통해 카프카 토픽으로 저장하고, 필요에 따라 가공 후 싱크 애플리케이션으로 저장할 수 있다.
커넥터를 사용해서 파이프라인을 생성할 때 사용할 수 있는 기능들이 있는데 첫번째는 converter, 두번째는 transform 이다.
converter: 데이터 처리 전 스키마 변경시 사용
transform: 데이터 처리 시 각 메세지 단위로 데이터를 변환하기 위한 용도
커넥트는 두가지 모드로 실행될 수 있는데, 단일 모드(Standalone) 와 분산모드(Distributed) 이다.
단일모드 커넥트
분산모드 커넥트
예제 코드는,, 나중에 여유가 되면 추가예정..