2 min remaining
0%
디지털 전환

확장 가능한 웹 아키텍처: 950% 트래픽 급증을 처리한 방법

MERCURY는 제품 출시 중 950%의 트래픽 급증을 성공적으로 처리하며 그들의 확장 가능한 웹 아키텍처와 인프라의 강점을 보여주었습니다.

2 min read
Progress tracked
2 분 읽기

MERCURY에서는 매달 1억 건의 요청이 서버에 접수됩니다. 이는 하루 약 300만 건의 요청에 해당합니다.

하지만, 그건 '쉬운' 부분입니다...

고객이 캠페인을 진행하거나 새로운 제품을 시장에 출시할 때 도전 과제가 발생합니다. 최근의 한 출시로 인해 950%의 트래픽 급증이 발생했습니다!

무슨 일이 있었는지 자세히 살펴보고, 이러한 급증을 쉽게 처리할 수 있도록 인프라를 어떻게 설정했는지 설명해 보겠습니다.

950%의 트래픽 급증을 유발하는 원인

우리의 홍콩 고객은 세계적인 스트리트 패션 브랜드 리셀러 중 하나입니다. 예상할 수 있듯이, 그들은 새로운 제품이나 협업 제품이 판매될 때 막대한 트래픽 급증을 경험합니다.

NIKE와의 협업 제품을 발표했을 때의 모습은 이렇습니다. 이는 단 하나의 제품에 대한 것입니다. 그들은 수많은 제품을 운영하고 있습니다.

급증하는 트래픽

새로운 제품이 오후 4시에 발표될 때 하루에 1만 명 이상의 사용자가 접속합니다.

24시간 이내에, 사전 판매 이벤트를 포함하여, 고객의 웹사이트는 950%의 트래픽 급증과 데이터베이스 요청이 5000% 증가하는 경험을 했습니다. 다시 말해, 사이트는 하루 만에 '정상' 트래픽의 10일 분량을 소모했으며, 이 트래픽의 대부분은 단 3시간에 집중되었습니다.

그렇다면 우리는 이러한 급증을 처리하기 위해 인프라를 어떻게 설정할까요?

이러한 대규모 트래픽 급증을 처리하는 것은 엄청난 도전 과제이지만, 우리의 용량과 확장 전략 덕분에 관리할 수 있습니다. 우리는 플랫폼을 고객별로 독립적으로 동적으로 증가하거나 감소시킬 수 있는 자가 포함된 '세그먼트'로 나누어 필요할 때 정확히 필요한 곳에 용량을 추가합니다. 우리의 플랫폼은 검색 레이어를 분리하여 애플리케이션 서버와 유사한 시스템을 사용하도록 설계되었습니다.

로드 밸런서는 모든 검색 서버를 추적하여 트래픽을 균형 있게 분배하고, 문제가 발생하는 서버를 회피합니다. 이 구성은 추가 용량이 필요할 때 새로운 서버를 신속하고 쉽게 추가할 수 있게 합니다.

결국, 우리는 고객을 대신하여 평균 2초마다 판매 주문을 처리하며, 800명 이상의 동시 데이터베이스 접근을 유지하고 20,000명 이상의 고객에게 서비스를 제공했습니다.