목록 보기
확장할 수 있는 데이터 추출 서비스 구축 경험 공유
백엔드

확장할 수 있는 데이터 추출 서비스 구축 경험 공유

올리브영
올리브영
2023년 12월 18일

두줄요약

엑셀 데이터 추출 기능이 느려지고 서버 부하가 커지는 문제를 개선한 경험을 공유했습니다. 비동기 이벤트와 Spring Batch Partitioning으로 처리 분리와 재다운로드 구조를 구성했습니다.

문제 상황

  • 엑셀 기반 데이터 추출 기능의 데이터·항목 증가로 인한 처리 지연
  • 동기식 구조로 인한 브라우저 대기, 다운로드 중단, 서버 자원 부족, 다수 요청 시 백엔드 부하

해결 방법

  • 브라우저 종료 이후에도 백엔드에서 처리되는 비동기 데이터 추출 흐름으로 전환
  • Kafka 이벤트로 추출 요청과 엑셀 생성 작업을 분리하고, S3 업로드 후 재다운로드 가능하게 구성
  • 백엔드와 엑셀 생성 서버 분리, Spring Batch의 Partitioning으로 병렬 처리와 병합 구조 적용

성능/운영 포인트

  • 중복 요청 제어로 로드 감소
  • Job listener로 임시 파일 생성, 성공·실패 이벤트 기록
  • TeamCity, crontab, Kafka Consume 등 실행 방식 검토 후 이벤트 트리거 방식 선택

댓글 0

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...