이커머스 구매 대행 자동화 및 데이터 파이프라인 구축

이커머스 구매 대행 자동화 및 데이터 파이프라인 구축

프로젝트 개요 반복적인 수기 주문 업무를 자동화하기 위해 쿠팡, 네이버, YES24 등 주요 커머스 사이트의 데이터를 수집하고 사내 플랫폼과 동기화하는 시스템을 개발했습니다.

1. 배경 및 목적 (Problem & Context)

  • 인적 리소스 손실: 단순 반복적인 주문 정보 기입(엑셀) 업무로 인해 담당 부서의 업무 피로도가 극도에 달했으며, 이는 실제 인력 이탈로 이어지는 심각한 운영 이슈를 야기함.
  • 기술적 난제: 커머스 사이트별로 상이한 보안 정책(Bot 탐지, IP 차단)으로 인해 일반적인 크롤링 방식으로는 안정적인 데이터 수집이 불가능함.

2. 기술 스택 (Tech Stack)

  • Languages: Python (FastAPI), Java (Spring Boot)
  • Storage: MySQL, Redis
  • Messaging: RabbitMQ
  • Automation: Playwright, Chrome Extension

3. 핵심 구현 및 문제 해결 (Key Solutions)

매체별 타겟팅 수집 전략 (Hybrid Automation)

사이트별 보안 강도에 따라 수집 도구를 이원화하여 효율성과 성공률을 모두 잡았습니다.

  • Chrome Extension 활용: 보안 및 봇 탐지가 매우 까다로운 쿠팡, 네이버의 경우, 실제 브라우저 환경을 활용하는 익스텐션을 개발하여 탐지 우회 및 IP 차단 문제를 해결했습니다.
  • Playwright 활용: 비교적 보안 정책이 유연한 사이트(YES24 등)는 Headless 기반의 Playwright를 사용하여 수집 속도와 리소스 효율을 높였습니다.

시스템 안정성 및 동시성 제어

  • RabbitMQ 도입: 특정 시점에 수집 요청이 폭주하더라도 시스템이 다운되지 않도록 메시지 큐를 통한 버퍼링을 구현했습니다. 이를 통해 수집 요청의 순차적 처리와 안정적인 동시성 제어를 보장했습니다.
  • Redis Pub/Sub: 비동기로 처리되는 수집 프로세스의 상태(성공/실패)를 프론트엔드에 실시간으로 전달하여 사용자 인터페이스의 반응성을 높였습니다.

Microservices 구성

  • Python (수집 레이어): 크롤링 엔진 및 익스텐션 통신 담당.
  • Spring Boot & MySQL (영속 레이어): 수집된 데이터를 비즈니스 로직에 맞게 가공하고 MySQL에 최종 적재하여 사내 플랫폼에서 즉시 주문 관리가 가능하도록 구현.

4. 업무 성과 (Impact)

  • 정량적 성과: 수기 입력 기반의 프로세스를 100% 자동화하여 데이터 정확도 확보.
  • 정성적 성과 (HR 측면): 소위 '노가다'로 불리던 단순 반복 업무를 제거함으로써 관련 부서 직원의 업무 만족도를 높이고, 인력 이탈률을 유의미하게 감소시킴.
  • 확장성: 신규 커머스 사이트 대응 시, 기존에 구축한 RabbitMQ 기반 구조 내에서 수집 모듈만 추가하면 되는 확장성 있는 아키텍처 완성.