대용량 데이터 시스템 설계 결
졸업 프로젝트에서 로그 수집·분석 파이프라인을 설계했습니다. 하루 수백만 건의 이벤트를 처리해야 해서, 단일 서버로는 처리량이 부족했습니다. Kafka로 이벤트를 버퍼링하고 컨슈머를 병렬로 늘리는 구조를 택했고, 처리량이 기존 단일 처리 대비 4배로 늘었습니다. 장애 상황을 대비해 컨슈머 그룹 오프셋을 주기적으로 커밋하고, 재시작 시 중복 처리를 최소화하는 방식도 설계에 포함했습니다.
스토리지 비용을 줄이기 위해 오래된 로그는 컬럼형 포맷으로 변환해 보관했고, 쿼리 속도가 JSON 대비 크게 향상됐습니다. 대용량 시스템은 처리량 설계보다 장애 복구 설계가 더 어렵다는 결을 배웠습니다.