선착순 쿠폰 발급 시스템 - 대규모 동시성 처리를 위한 최적화된 솔루션
쿠폰을 발급받으려면 먼저 회원가입이 필요합니다
회원가입하기아키텍처 & 흐름 한눈에 보기
Redis 원자 처리 + DB 세이프티넷 + 헬스 모니터링으로 안정적 발급/사용을 보장합니다.
Atomic Issue
중복 체크 → 재고 확인 → 감소를 한 스크립트로 처리해 레이스 컨디션을 차단하고, TTL로 발급 흔적을 관리합니다.
Safety Net
`(userId, couponId)` 유니크로 2차 중복을 차단하고, 발급/사용 내역을 영속화해 통계와 추적성을 확보합니다.
Sync & Health
관리자가 Redis 재고를 DB 기준으로 동기화할 수 있고, 실시간 대시보드로 발급률/재고를 모니터링합니다.
1) 요청
프론트에서 발급/사용 API 호출 (React Query로 폴링/캐싱).
2) Redis
Lua 스크립트로 중복/재고 체크·감소, 발급 흔적 TTL 기록.
3) DB
성공 건만 비동기 영속화, 유니크 제약으로 2차 보호.
4) 관측/동기화
실시간 대시보드로 수치 확인, 필요 시 Redis 재고를 DB 기준으로 재계산.