테크살롱
구독하기

급증하는 트래픽 앞에서, 대기열의 기술

이벤트 오픈 1분 만에 평소의 40배 요청이 몰립니다. 서버를 늘리는 대신 줄을 세우는 이유를 설명합니다.

분기마다 열리는 할인 이벤트 날, 오픈 1분 동안 평소의 40배 요청이 몰립니다. 이 순간을 위해 서버를 40배로 늘리는 것은 답이 아닙니다. 1년 중 몇 분을 위해 치르는 낭비가 너무 크기 때문입니다. 우리의 답은 대기열입니다.

대기열의 원리

원리는 은행 창구와 같습니다. 처리 능력은 정해져 있으니, 능력을 넘는 요청은 번호표를 받고 기다립니다. 중요한 것은 두 가지입니다. 지금 몇 번째인지 정직하게 보여줄 것, 그리고 줄이 실제로 줄어들 것. 이 둘만 지켜지면 사용자는 기다림을 받아들입니다.

시스템은 조용했고, 줄은 정직하게 줄었습니다.

기술적으로는 요청을 큐에 넣고 처리 가능한 속도로만 꺼내 쓰는 구조입니다. 큐 앞단은 가볍게 만들어 수십만 명이 붙어도 버티게 하고, 뒷단의 결제와 재고 처리는 평소 속도를 유지합니다. 장애가 나도 큐에 쌓인 요청은 사라지지 않으니 복구 후 이어서 처리할 수 있습니다.

지난 이벤트에서 최대 대기 인원은 11만 명, 평균 대기 시간은 74초였습니다. 불만 문의는 열두 건에 그쳤습니다. 시스템은 조용했고, 줄은 정직하게 줄었습니다.

함께 읽으면 좋은 글