kakao/kafka-sink-connector
Apache Kafka에서 JSON 데이터를 읽어 다른 Kafka 토픽으로 필터링하여 전달하는 커넥터
55+0이번 주0 찜
12포크1이슈
중간맛 분석
Java로 작성된 Kafka Connect 싱크 커넥터입니다. JsonPath 기반 데이터 필터링, 샘플링, 타임스탐프/메시지 키 파싱, 프로듀서 옵션 커스터마이징 등의 기능을 제공하며, Gradle을 통해 빌드합니다. 설정 기반으로 동작하므로 코드 수정 없이 토픽 매핑과 필터링 규칙을 조정할 수 있어 운영 난이도가 낮습니다.
이런 레포예요
이럴 때 쓰면 좋아요
- 색상·카테고리·상태별로 토픽의 메시지를 분류해 다운스트림 시스템으로 라우팅할 때
- 실시간 로그 스트림에서 특정 조건의 레코드만 모니터링 토픽으로 전달할 때
- 다중 소스에서 온 JSON 메시지를 필터링하여 데이터 웨어하우스나 분석 엔진에 맞춰 정제할 때
핵심 기능
JsonPath 기반 데이터 필터링타임스탐프 및 메시지 키 자동 주입샘플링 및 프로듀서 옵션 커스터마이징
대안 대비 차별점
Kafka Connect 플러그인 표준을 따르면서도 JsonPath를 통한 선언적 필터링으로 별도의 스트림 처리 코드 없이 경량으로 토픽 간 조건부 데이터 전달을 구현할 수 있습니다.
준비물
- Apache Kafka 클러스터
- Kafka Connect 워커
- Java 8 이상
바로 시작하기
- 레포지토리를 클론합니다.
git clone https://github.daumkakao.com/adrec/kafka-sink-connector.git
cd kafka-sink-connector
- Gradle을 이용해 프로젝트를 빌드합니다.
./gradlew uberJar
- 빌드된 JAR 파일을 확인합니다.
ls build/libs
kafka-sink-connector-1.0.jar
-
Kafka Connect 워커의 plugin.path 디렉토리에 JAR 파일을 복사합니다.
-
Kafka Connect REST API를 통해 커넥터를 생성합니다(예: 색상이 'red'인 과일만 필터링).
curl -X POST http://localhost:8083/connectors \
-H "Content-Type: application/json" \
-d '{
"name": "red-color-filtering-test",
"config": {
"connector.class": "com.kakao.connector.kafka.KafkaSinkConnector",
"kafka.filtering.condition": "$.[?(@.color == '"'"'red'"'"')]",
"kafka.sink.bootstrap": "color-kafka:9092",
"kafka.sink.topic": "red-color-fruit",
"tasks.max": "1",
"topics": "fruits"
}
}'
별 추이 · 7일
55+0 / 7일
활용성 · 따라 만들기 좋은가
샘플 점수 20/100
- 관대한 라이선스
- 테스트 있음
- 예제 디렉토리
- 최근 활동
- AGENTS.md
- llms.txt
- 템플릿
⚪ 최근 활동 정보 없음 · 2023년 생성
이 레포에 깃밥 배지 달기
[](https://www.gitbap.com/r/kakao/kafka-sink-connector)🔌 클로드에서 바로 써보기
깃밥을 클로드에 연결하면 이런 레포를 클로드·커서·Codex에서 바로 찾고 체험할 수 있어요.
방법 ① 커넥터 URL
클로드 설정 → 커넥터에 이 주소를 붙여넣기.
https://www.gitbap.com/api/mcp방법 ② 플러그인 (체험까지)
플러그인을 설치하면 /gitbap-trending·/gitbap-try 슬래시 커맨드로 레포를 그 자리에서 체험. Claude Code에서 아래 두 줄을 차례로 실행하세요.
/plugin marketplace add jakeparkcolde/gitbap-cowork/plugin install gitbap-cowork@gitbapAI가 README 기반으로 요약했습니다 · 원문 보기