Kim Seogyu
Backend/DevOps

스파이크 트래픽 대응 전략

티켓팅/플래시세일 같은 급격한 쓰기 폭주 상황을 안정적으로 처리하는 핵심 전략을 정리합니다.

Published 2025년 12월 30일1 min read160 words

스파이크 트래픽 대응 전략

문제 특성

스파이크 트래픽은 읽기보다 쓰기 병목을 만듭니다. 핵심 리스크는 DB 락 경합과 커넥션 고갈입니다.

우선 적용할 3가지

  1. 동기 처리 -> 큐 기반 비동기 처리
  2. 입장 제어(rate limit + 대기열)
  3. 재고/자원 사전 할당(분산)

1) 큐 기반 비동기

API는 즉시 "접수"를 반환하고 실제 처리는 worker가 순차 처리합니다. 이 방식으로 DB에 직접 몰리는 순간 쓰기를 완화합니다.

2) 사용자 입장 제어

  • 초당 허용량 제한
  • 대기 순번 제공
  • 클라이언트 폴링 주기 통제

사용자 체감과 시스템 보호를 동시에 잡는 데 가장 효과적입니다.

3) 멱등성 보장

같은 요청이 재시도돼도 결과가 한 번만 반영되도록 키 설계가 필요합니다. 예: request_id, user_id + event_id

자주 하는 실수

  • 재시도 정책만 넣고 멱등성 키 없음
  • 큐 길이/처리량 모니터링 없이 worker만 증설
  • 실패 시 보상/환불 경로 미정의

요약

스파이크 대응의 본질은 처리량 확장이 아니라 쓰기 경합 제어입니다. 큐, 입장 제어, 멱등성 세 축을 먼저 고정하면 장애 확률이 크게 줄어듭니다.

Share

Related Articles

Comments

이 블로그는 제가 알고 있는 것들을 잊지 않기 위해 기록하는 공간입니다.
직접 작성한 글도 있고, AI의 도움을 받아 정리한 글도 있습니다.
정확하지 않은 내용이 있을 수 있으니 참고용으로 봐주세요.

© 2026 Seogyu Kim