우아한형제들
기술 블로그
B레벨 - 심화

빼빼로데이 대규모 트래픽 대응기

트래픽
스케일링
이벤트 처리
RedisSpring BootMySQLKafka
2016년 11월조회 3면접 0원문 보기

배경

배달의민족은 빼빼로데이 등 특정 이벤트 시즌에 평소 대비 수십 배의 트래픽이 발생합니다. 쿠폰 발급, 이벤트 참여, 주문 폭주가 동시에 일어나는 극한 상황에 대비해야 했습니다.

도전 과제

이벤트 시작 시각에 수십만 사용자가 동시 접속하여 쿠폰을 발급받으려 합니다. DB 락 경합, 서버 과부하, 사용자 경험 저하를 방지하면서 정확한 수량의 쿠폰만 발급해야 했습니다. 또한 이벤트 시스템의 장애가 주문 시스템에 전파되지 않도록 격리가 필요했습니다.

해결 방안

이벤트 시스템을 독립 인프라로 분리하고, 쿠폰 발급은 Redis 기반 선착순 큐를 사용했습니다. 실제 쿠폰 DB 반영은 후처리 시스템에서 비동기로 처리하여 DB 부하를 분산했습니다. 독립 인증 시스템, 이벤트 메인 시스템, 쿠폰 후처리 시스템 3개로 분리 운영했습니다.

결과

이벤트 트래픽 10배 이상 증가에도 시스템 정상 운영, 쿠폰 정확 발급 100% 달성, 주문 시스템 영향도 제로.

핵심 인사이트

  • 1.이벤트 시스템과 주문 시스템의 장애 격리는 필수
  • 2.Redis 선착순 큐로 DB 락 경합 회피
  • 3.비동기 후처리로 피크 트래픽 분산
  • 4.부하 테스트(Spike Test)를 통한 사전 검증

이 사례 기반 면접에 도전해보세요

우아한형제들의 실제 기술적 결정과 트레이드오프를 깊이 파고드는 면접 질문 5가 준비되어 있습니다

시스템 설계
장애 격리
데이터 파이프라인
성능 테스트
동시성 제어
타이머사례 참조 가능결과 아카이브

로그인 없이 바로 면접을 시작할 수 있습니다