주로 데이터베이스와 같은 외부 시스템간의 데이터 전달이 필요할 때 Kafka Connect 를 많이 쓰실텐데요,
Kakao 에서 데이터베이스가 아닌 Kafka 로의 데이터 전달시 사용가능한 Kafka-Sink-Connector 를 오픈소스로 공개했습니다.
Kakao-Sink-Connector 는 다음과 같은 기능이 있다고 합니다.
✔️ 레코드를 다른 카프카 클러스터의 특정 토픽으로 전달
✔️ JSON 기반 데이터 필터링
✔️ 샘플링
✔️ 타임스탬프 파싱 및 주입
✔️ 메시지 키 파싱 및 주입
✔️ 고성능 프로듀서 옵션(linger.ms, batch.size)
Kafka 간의 데이터 전달은 Apache Kafka 에서 제공하는 MirrorMaker2 나 LinkedIn 에서 만든 Brooklin 을 쓰실수도 있는데요,
조금 무거운 감도 있고 사용하기 살짝 아쉬웠던 기능들을 Kakao 의 Kafka-Sink-Connector 에서 제공해주고 있어 관심있으신 분들께서는 한번 보시면 좋겠습니다.
📚 함께 보면 좋은 글
📌 Kafka Connect: https://kafka.apache.org/documentation/#connect
📌 Kakao 공식 테크 블로그 발행글: https://tech.kakao.com/2023/01/12/introduce-kafka-sink-connector/?fbclid=IwAR06rtTp2dDnI3MLrwiWQ1Zfv88SvgQtFyKiOwlAXYYzja5_SCTtmWHZBp0
📌 LinkedIn Brooklin: https://github.com/linkedin/brooklin