개요

커머스 도메인은 백엔드 개발에 대한 폭넓은 경험을 쌓을 수 있는 주제라고 생각했습니다. 개발 과정에서 발생하는 다양한 문제에 대한 대응력을 기르고 실무 능력을 키우기 위해 프로젝트 주제를 커머스 도메인으로 결정했습니다. 해당 프로젝트는 1,000만 건의 데이터를 삽입하여 대용량 데이터를 다루는 프로덕션과 비슷한 환경을 만들기 위해 노력했습니다.

특히 대규모 데이터와 대용량 트래픽을 다루는 상황을 가정하여 서버의 트래픽을 처리할 수 있는 방법에 대해 배울 수 있었습니다. 또한 문제 해결을 위해 적용할 수 있는 다양한 대안들을 고민하고 각 방법에 대한 장단점과 해결 과정 등을 블로그 포스팅을 통해 기록했습니다.

기능

  1. 회원가입 / 탈퇴
  2. 로그인 / 로그아웃
  3. 상품 등록 / 수정 / 삭제 / 조회
  4. 장바구니
  5. 상품 찜하기 - 몇명의 사용자가 내 상품을 찜했는지 추적 가능 → 수요 예측
  6. 상품 주문 (결제)
  7. “좋아요” 기능 - 주문한 상품에 대한 평가

서버 아키텍처

erd.png

해당 서버 아키텍처에서 다음과 같은 문제점을 발견했습니다.