기술 선택 근거와 트러블슈팅을 함께 푼 결
대표 프로젝트는 대용량 로그 수집 파이프라인입니다. 본인은 수집 단의 설계와 구현을 맡았습니다.
기술은 메시지 큐 기반 비동기 수집으로 갔습니다. 동기 수집도 가능했지만, 수집량이 시간대별로 크게 출렁이는 자리라 피크에서 데이터가 유실되지 않게 버퍼링이 필요하다고 봤기 때문입니다.
가장 큰 트러블은 피크 때 일부 메시지가 중복 처리되는 자리였습니다. 처음엔 큐 설정 문제로 봤지만, 추측을 멈추고 재처리 로그를 따로 모아보니 원인은 컨슈머가 처리 완료를 늦게 알리는 구간이었습니다. 처리 완료 신호 시점을 앞당기고 멱등 처리를 더해, 중복률이 사실상 사라졌습니다.
이 자리에서 배운 건 분산 처리의 버그는 보통 설정이 아니라 시점의 문제에서 나온다는 부분이었습니다.