데이터 엔지니어링 파이프라인에서 중복 이벤트 문제를 멱등성으로 해결한 경험을 정리한 결
인턴 프로젝트에서 실시간 사용자 행동 로그 파이프라인 구축에 참여했습니다. Kafka에서 수집한 이벤트를 Spark Streaming으로 처리해 DW에 적재하는 구조였는데, 초반에 중복 이벤트가 5~8% 섞여 들어와 집계 지표가 흔들렸습니다. 원인은 Kafka 파티션 리밸런싱 때 컨슈머가 오프셋을 재처리하는 문제였고, 이벤트에 uuid v4 기반 멱등 키를 붙이고 DW 적재 시 UPSERT로 처리하도록 바꿔 해결했습니다. 이후 중복률이 0.02% 이하로 떨어졌고, 일별 지표 편차도 안정됐습니다. 데이터 파이프라인에서 멱등성은 처음부터 설계에 넣지 않으면 나중에 고치기 매우 까다롭다는 것을 몸으로 배웠습니다.