핵심 요약
올리브영의 파트너 플랫폼에서 데이터 추출 서비스의 비동기 처리와 분산 아키텍처를 구현해 백엔드와 엑셀 생성 서버를 분리하고 Kafka 이벤트 기반으로 작업을 관리하며, S3에 업로드된 파일의 재다운로드를 가능하게 한 확장 가능한 데이터 추출 시스템을 구축했다.
주요 경험
- 데이터 추출 요청을 비동기로 처리하고 Kafka를 통해 엑셀 생성 작업을 분리하여 브라우저 대기 및 서버 부하를 줄였다.
- 백엔드 서버와 엑셀 생성 서버를 분리하고, 비동기 이벤트로 부하를 분산하며 안정적인 운영을 가능하게 했다.
- Spring Batch의 Partitioning과 Listener를 활용해 대용량 데이터도 효율적으로 엑셀로 변환하고 결과를 S3에 업로드했다.
얻은 인사이트
- 이벤트 기반 아키텍처로 다수의 동시 요청에서도 백엔드 부하를 낮추고 확장성을 확보했다.
- Partitioning으로 데이터 추출 작업을 병렬로 처리하고, 엑셀 생성과 재다운로드를 분리해 재생산성을 높였다.
- 레거시 기능의 안정적 운영을 위한 모니터링과 실패 대응 로직의 중요성을 체감했다.



