Title
선착순 쿠폰 발급 기능 구현
Description
사용자에게 선착순으로 쿠폰을 발급하는 기능을 구현한다.
정해진 수량 내에서만 쿠폰이 발급되어야 하며, 동시 요청 상황에서도 초과 발급이 발생하지 않아야 한다.
Background
- 이벤트성 프로모션을 위한 선착순 쿠폰 발급 요구
- 트래픽 집중 상황에서도 정합성 보장이 필요함
Requirements
- 쿠폰 총 발급 수량을 초과하여 발급되지 않아야 함
- 한 사용자당 1회만 발급 가능
- 동시성 이슈 방지 필수
- 발급 성공 / 실패 케이스 명확히 구분
Functional Specs
- 쿠폰 발급 API 제공
- Endpoint:
POST /api/coupons/issue
- 발급 성공 시 쿠폰 정보 반환
- 발급 실패 케이스
- 멱등성 보장 필요
Technical Considerations
- 동시성 제어 방식 검토
- DB Lock
- Redis (Atomic operation, Lua script 등)
- 트랜잭션 범위 최소화
- 성능 고려 (고트래픽 대비)
Acceptance Criteria
- 동시 요청 환경에서 쿠폰 초과 발급이 발생하지 않는다
- 동일 사용자가 중복 발급받을 수 없다
- 모든 예외 케이스에 대해 명확한 응답을 반환한다
TODO
Title
선착순 쿠폰 발급 기능 구현
Description
사용자에게 선착순으로 쿠폰을 발급하는 기능을 구현한다.
정해진 수량 내에서만 쿠폰이 발급되어야 하며, 동시 요청 상황에서도 초과 발급이 발생하지 않아야 한다.
Background
Requirements
Functional Specs
POST /api/coupons/issueTechnical Considerations
Acceptance Criteria
TODO