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

매월 1억 건의 요청이 서버에 도달하고 있으며, 이는 매일 약 300만 건의 요청에 해당합니다.

하지만 이는 "쉬운" 부분입니다...

고객이 캠페인을 진행하거나 신제품을 시장에 출시할 때 어려움이 발생합니다. 최근 신제품 출시로 인해 트래픽이 950% 급증했습니다!

정확히 어떤 일이 있었는지 살펴보고 이와 같은 급증에 쉽게 대처할 수 있도록 인프라를 어떻게 설정했는지 설명해 드리겠습니다.

트래픽이 950% 급증하는 원인

홍콩의 한 고객은 세계적인 스트리트 패션 브랜드 리셀러로, 신제품이나 콜라보레이션 제품이 판매될 때 트래픽이 급증하는 것을 경험합니다.

NIKE와의 콜라보레이션 제품을 발표했을 때 얼마나 열광적인 반응을 보였을까요? 단 한 가지 제품에 불과합니다.

버스트 트래픽

오후 4시에 신제품이 발표되면 하루 만에 1만 명 이상의 사용자가 접속합니다.

사전 판매 이벤트가 포함된 24시간 동안 고객사의 웹사이트는 트래픽이 950% 급증하고 데이터베이스 요청이 5000% 증가했습니다. 즉, 이 사이트는 열흘 동안의 '정상' 트래픽을 하루에 소비했으며, 이 트래픽의 대부분은 단 3시간 동안에 분산되었습니다.

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

이러한 대규모 트래픽 급증을 처리하는 것은 엄청난 도전이지만, 용량 및 확장 전략 덕분에 관리할 수 있는 문제입니다. 플랫폼을 클라이언트별로 독립된 '세그먼트'로 세분화하여 동적으로 늘리거나 줄일 수 있으며, 언제든지 필요한 순간에 정확하게 용량을 추가할 수 있습니다. 애플리케이션 서버에 사용하는 것과 유사한 시스템을 사용하여 검색 계층도 분리하는 방식으로 플랫폼을 설계했습니다.

로드 밸런서는 모든 검색 서버를 추적하여 서버 간의 트래픽을 분산하고 문제가 있는 서버를 피합니다. 이 구성을 사용하면 추가 용량이 필요할 때 새 서버를 빠르고 쉽게 추가할 수 있습니다.

하루가 끝날 무렵에는 평균 2초마다 판매 주문을 처리했으며, 800명 이상이 동시에 데이터베이스에 접속하여 20,000명 이상의 고객에게 서비스를 제공했습니다.


확장 가능한 웹 아키텍처: 950% 급증한 트래픽을 처리한 방법
James Huang 2019년 2월 15일
이 게시물 공유하기
광고 대행사의 운영 효율성 향상