핵심 요약
올리브영이 Redis Pub/Sub과 Redis List를 활용해 쿠폰 발급을 비동기로 처리하고, 1개 워커만 메시지를 받아 처리하도록 로직을 개선해 6월 세일에서 분당 최대 발급량이 2.2배로 증가하고 대기 시간이 대폭 감소하여 쿠폰이 1~2분 안에 소진되었습니다.
구현 방법
- Redis Pub/Sub 토픽 '쿠폰발급' 구성과 1개 워커만 구독하도록 로직 구현
- Redis List '쿠폰발급 저장소' 도입: 발급 데이터 RPush, 워커는 주기적으로 LPop으로 처리
- 일련번호 기반 분배로 중복 발급 방지 및 안정적 처리
주요 결과
- 분당 최대 발급량 2.2배 개선
- 대기 시간 대폭 감소, 모든 쿠폰이 1~2분 내 소진
- 데이터 유실 방지를 위한 List 도입으로 안정성 확보



