아카이브사이트맵
© 2026 Rayon. All rights reserved.
DevDay
아티클랭킹스페이스채용
펫프렌즈 favicon펫프렌즈

Kafka-S3 실시간 데이터 파이프라인 구축 노하우 공개

by DD
2025-11-07
8개월 전
조회수 33

MariaDB Trigger 기반 로그 테이블의 한계를 극복하고자 Kafka와 S3 기반의 실시간 파이프라인을 구축

S3 Sink Connector 대신, Parquet 변환 및 세부 제어를 위해 직접 컨슈머 애플리케이션 개발

At-least-once 전략과 오프셋 메타데이터 관리를 통해 데이터 누락 없는 안정적인 운영 환경 구축

컨슈머 직접 개발의 기술적 배경

기존 S3 Sink Connector는 Parquet 포맷 지원에 제약이 있었고, 세부적인 비즈니스 로직 반영이 어려웠다. 따라서 Kafka Consumer를 직접 개발하여 Parquet 변환 및 S3 저장을 제어했다. 구체적으로, 메시지 누락 방지를 위해 At-least-once 전략을 채택했다.

데이터 안정성을 위한 설계

At-least-once 전략을 통해 데이터 누락을 방지하고, 오프셋 커밋을 수동으로 제어했다. 리밸런스 발생 시 on_revoke 로직을 추가하여 중복 처리를 방지했다. 따라서 데이터 무결성을 확보하고, 서비스 안정성을 높였다. S3 업로드 실패 시 재시도 정책을 적용했다.

운영 모니터링 및 향후 계획

컨슈머의 안정적인 운영을 위해 로그, 오프셋 메타데이터, 인프라 리소스를 모니터링했다. Slack 알림을 통해 오류를 즉시 감지하고, Airflow DAG를 활용하여 데이터 적재 상태를 확인했다. Apache Iceberg 도입을 검토하여 데이터 일관성을 강화하고, 스키마 변경에 유연하게 대응할 예정이다.

Kafka에서 S3로 실시간 데이터 수집 파이프라인 설계와 구축기
고급
아키텍처
Kafka
S3
Parquet
Debezium
Python
Backend
Data
원문 읽기
원문 읽기

댓글 0

첫 번째 댓글을 남겨보세요!

관련 추천 글

PostgreSQL 데이터를 Elasticsearch로, Kafka Connect CDC 파이프라인 구축 사례

카카오 로고

Kafka Connect 트러블슈팅: PostgreSQL to ES 데이터 파이프라인 구축 노하우 공개!

카카오 로고

Kafka 운영은 이제 그만! EasyQueue로 비즈니스 로직에 집중하세요.

NHN클라우드 로고

Debezium MSK Connect Failover 구현으로 서비스 중단 최소화!

올리브영 로고

Postgres 데이터를 Iceberg로 실시간 변환!

해커뉴스 로고

AWS Lambda, S3 Files로 파일 시스템을 만나다!

데브투 로고
펫프렌즈 favicon펫프렌즈
고급
아키텍처
Kafka
S3
Parquet
Debezium
Python
Backend
Data

관련 추천 글

PostgreSQL 데이터를 Elasticsearch로, Kafka Connect CDC 파이프라인 구축 사례

카카오 로고

Kafka Connect 트러블슈팅: PostgreSQL to ES 데이터 파이프라인 구축 노하우 공개!

카카오 로고

Kafka 운영은 이제 그만! EasyQueue로 비즈니스 로직에 집중하세요.

NHN클라우드 로고