쏘카, 로그 파이프라인 개선으로 데이터 품질과 신선도 UP!
by DD
1년 전
조회수 9
기존 로그 파이프라인의 분류 작업 비효율성, 데이터 신선도 부족 문제점을 진단
MSK, Kafka Consumer를 도입하여 실시간 데이터 처리 및 스키마 관리 체계 구축
데이터 컨트랙트 도입으로 데이터 품질 및 파이프라인 안정성 확보
기존 파이프라인 문제점 분석
기존 파이프라인은 S3에 로그를 저장하고 Airflow로 배치 처리하여 데이터 신선도가 낮았다. 스키마 관리 부재로 인해 스키마 변경 시 수동 작업이 필요했고, 분류 작업 비효율성으로 인해 중복 데이터가 발생했다. 따라서, 실시간 데이터 처리를 위한 개선이 시급했다.
MSK 기반 실시간 파이프라인 설계
새로운 아키텍처는 MSK를 활용하여 실시간 데이터 스트리밍을 구현했다. Kafka Consumer를 통해 특정 타입의 로그를 분류하고, GCS에 직접 적재하여 데이터 신선도를 높였다. Protobuf와 Schema Registry를 통해 스키마 관리를 자동화하여 운영 효율성을 향상시켰다.
Kafka Consumer 개발 및 기술 스택 선정
Firehose의 한계와 Kafka Connect의 문제점을 극복하기 위해 커스텀 Kafka Consumer를 개발했다. Confluent Kafka 라이브러리를 사용하여 MSK와 호환성을 확보하고, DLQ 설정, 파티션 키 전략 등 다양한 기능을 구현했다. 결과적으로, 유연한 데이터 처리가 가능해졌다.