아카이브사이트맵
© 2026 Rayon. All rights reserved.
DevDay
아티클랭킹스페이스채용
올리브영 favicon올리브영

올영세일 쿠폰, 이제 미발급 걱정 끝!

by DD
2025-12-14
7개월 전
조회수 54

올영세일 선착순 쿠폰 발급 시스템에서 미발급 문제 발생, 고객 불만 및 CS 비용 증가

Redis 기반의 기존 시스템에서 Time Gap, 원자성 부재 등의 문제점 발견

이중 카운터 전략 도입으로 미발급 건수 0건 달성 및 정확도 100% 확보

쿠폰 발급 시스템 아키텍처 분석

올리브영 쿠폰 시스템은 RabbitMQ를 활용한 비동기 방식으로 설계되어 트래픽 급증에 대응했다. 기존 시스템은 Redis를 사용하여 발급 수량을 관리했지만, Time Gap으로 인해 미발급 문제가 발생했다. 따라서, 이중 카운터 전략을 통해 데이터 정합성을 강화했다.

Lua 스크립트 vs 이중 카운터: 트레이드오프

Lua 스크립트는 원자성을 보장하지만, 성능 저하라는 단점이 존재한다. 이중 카운터 전략은 의 두 개 키를 사용하여 을 확보하면서도, 를 최소화했다. 따라서, 과 사이의 균형을 맞췄다.

Redis
원자성
성능 저하
데이터 정합성
응답 속도

이중 카운터 전략의 기술적 구현

이중 카운터 전략은 발급 요청 수량과 실제 발급 수량을 분리하여 관리한다. countReq 키를 먼저 증가시켜 동시 요청을 차단하고, count 키는 성공적인 발급 요청에 대해서만 증가시킨다. 결과적으로, 미발급 문제를 해결하고 데이터 일관성을 보장하며, Redis의 성능을 유지했다.

올영세일 선착순 쿠폰, 미발급 0%를 향한 여정
고급
아키텍처
Redis
Lua
RabbitMQ
Data
Backend
원문 읽기
원문 읽기

댓글 0

첫 번째 댓글을 남겨보세요!

관련 추천 글

Redis, 단순한 캐시를 넘어선 야망, 개발자들은 어떻게 평가할까?

랍스타즈 로고

스프링 데이터(Spring Data) 2026.0.0-M2 출시: Redis, MongoDB 기능 개선!

스프링 로고

SaaS 제품, 확장성 확보의 핵심 전략 공개!

데브투 로고

Spring Cache + Redis record 직렬화 문제, 똑똑하게 해결!

우아한형제들 로고

RabbitMQ 장애, Quorum Queue로 해결!

올리브영 로고

Figma, 자체 개발 Redis 프록시(Proxy)로 99.9999% 가동 시간 달성

레딧 로고
올리브영 favicon올리브영
고급
아키텍처
Redis
Lua
RabbitMQ
Data
Backend

관련 추천 글

Redis, 단순한 캐시를 넘어선 야망, 개발자들은 어떻게 평가할까?

랍스타즈 로고

스프링 데이터(Spring Data) 2026.0.0-M2 출시: Redis, MongoDB 기능 개선!

스프링 로고

SaaS 제품, 확장성 확보의 핵심 전략 공개!

데브투 로고