선정 기준
고트래픽을 다루는 이커머스 서비스에서는 시스템의 신뢰성과 사용자 경험을 중심으로 우선 순위를 두는 것이 중요하다고 생각했고, 이를 최우선으로 반영하기 위해 아래와 같은 우선순위를 두어 개발을 진행했다.
1. 오픈 시간 이전 구매 가능(어뷰징)
- 이유: 선착순 한정 수량 판매에서 가장 중요한 요소는 공정성이다. 오픈 시간 이전에 구매가 가능해지면 시스템의 신뢰성이 떨어지고, 공정성에 대한 사용자들의 신뢰를 잃게 된다. 이는 전체 시스템의 근간을 흔드는 문제이기 때문에 최우선적으로 해결해야 한다.
- 트레이드 오프: 오픈 시간을 엄격하게 관리하기 위해서는 정확한 시간 동기화 및 모니터링 시스템이 필요하다. 이는 시스템의 복잡성을 증가시키고, 모든 사용자가 동일한 시간에 접속할 때 발생할 수 있는 초기 트래픽 부하 문제를 야기할 수 있다.
- 한계: 모든 사용자가 동일한 시간에 접속하면 트래픽 부하로 인해 서버가 일시적으로 느려지거나 다운될 수 있다.
2. [최종 결제 수 > 전체 상품 수] 발생으로 인한 결제 취소
- 이유: 최종 결제 수가 전체 상품 수를 초과하면, 이미 결제가 완료된 사용자들이 결제 취소를 경험하게 된다. 이는 사용자들에게 큰 불만을 초래하고, 시스템의 신뢰도를 크게 떨어뜨린다. 따라서 이를 방지하기 위해 재고 관리와 결제 시스템의 동기화가 필수적이다.
- 트레이드 오프: 재고 관리를 실시간으로 정확히 동기화하기 위해서는 성능을 희생할 수 있다. 특히, 높은 동시성 처리 상황에서 시스템의 응답 시간이 길어질 수 있다. 또한, 모든 결제 요청을 즉시 처리하지 못할 경우 사용자는 결제 실패 메시지를 받을 수 있다.
3. 서비스 불가
- 이유: 트래픽이 몰리면서 서버가 다운되면 예약 구매 상품과 관련 없는 고객들까지 불편을 겪게 된다. 이는 서비스의 안정성 문제로, 전체 사용자 경험에 큰 영향을 미친다. 따라서 시스템의 안정성과 확장성을 확보하여 서버 다운을 방지하는 것이 중요하다.
- 트레이드 오프: 서버 안정성을 확보하기 위해 인프라 확장이 필요하며, 이는 비용 증가를 초래한다. 또한, 과도한 트래픽을 분산시키기 위한 로드밸런싱도 필요하다.
- 한계: 비용 증가로 인해 초기 단계의 프로젝트에서는 예산 제한이 발생할 수 있다.
4. 결제 화면 도입 이후 결제 시도 불가
- 이유: 결제 화면에 진입했음에도 불구하고 결제를 시도할 수 없으면 사용자들의 구매 의도가 좌절된다. 이는 직접적인 구매 포기로 이어져 사용자 경험에 큰 영향을 미친다. 따라서 결제 과정의 원활한 진행을 보장해야 한다.
- 트레이드 오프: 결제 프로세스를 원활하게 하기 위해 결제 시스템의 신뢰성과 속도를 높여야 한다. 이를 위해 추가적인 결제 게이트웨이 서비스나 백업 결제 수단을 도입해야 할 수도 있으며, 이는 추가적인 비용과 시스템 복잡성을 증가시킨다.
- 한계: 결제 시스템의 신뢰성을 높이기 위해 추가적인 비용과 리소스가 필요하다.