결제·커머스

대용량 트래픽 전자상거래 시스템

주문, 재고, 결제를 위한 대용량 트래픽 처리

프로젝트 수행 기간: 2019.11–2020.12

프로젝트 개요

GS SHOP Breeze Platform에서 Nike Korea 공식 온라인 스토어의 대용량 트래픽 처리 구조를 개발했습니다. 한정판 스니커즈 출시 시 대규모 트래픽 급증을 처리하면서 실시간 재고 정확성과 주문-결제 연계를 함께 유지해야 했습니다.

해결 과제

한정판 제품 출시 시 수만 명의 동시 사용자를 처리하고, 과판매를 방지하기 위해 실시간 재고 정확성을 유지하며, 주문-재고-결제 시스템 간 연계를 안정적으로 보장해야 했습니다.

구현과 설계

고성능 트래픽 관리

대규모 동시 트래픽을 처리하기 위한 캐싱 및 부하 분산 전략을 적용하고, DB 읽기/쓰기 분리를 통해 주문-결제 시 안정성을 확보했습니다.

  • Hibernate Second Level Cache를 통한 엔티티 레벨 캐싱
  • 정적 자산 전달 및 글로벌 성능을 위한 CDN 통합
  • DB 읽기/쓰기 분리: 프록시를 통한 쿼리 자동 분리
  • 헬스 체크와 자동 확장을 고려한 로드 밸런싱

실시간 재고 및 추첨 시스템

한정판 제품 출시를 위한 재고 관리와 공정한 추첨 처리 구조를 구현했습니다.

  • 과판매 방지를 위한 비관적 잠금을 통한 실시간 재고 추적
  • 고수요 출시 중 공정한 액세스를 위한 큐 기반 추첨 시스템
  • 주문-재고-결제 서비스에 걸친 분산 트랜잭션 관리
  • 배치를 통한 비정상 결제 자동 취소 및 재고 조정

주요 결과

  • 대규모 동시 사용자 안정적 처리
  • 과판매 방지를 통한 높은 재고 정확도 달성
  • 시스템 안정성 개선을 통한 고객 구매 경험 향상
  • 최적화된 캐싱 전략을 통한 응답 시간 개선

사용 기술

Java
Spring Boot 엔터프라이즈 개발
Spring
Hibernate Second Level Cache
Hibernate 2L Cache
MySQL 데이터베이스 최적화
MySQL R/W Split
CDN 및 정적 자산 최적화
Spring Batch
로드 밸런싱 및 오토 스케일링
Nginx
분산 트랜잭션 관리
CDN
추첨 및 큐 시스템
AWS
실시간 모니터링 및 알림

배운 점

  • 적절한 캐싱 전략은 전자상거래 시스템의 트래픽 급증 처리에 필수
  • 실시간 재고 관리는 성능과 정확성 간 신중한 균형이 필요
  • 추첨 시스템과 같은 공정한 액세스 메커니즘은 고수요 중 사용자 경험 개선
  • 엔드투엔드 트랜잭션 모니터링은 시스템 무결성 유지에 중요
← 프로젝트 목록이메일로 연락하기 ↗