1. 개요


선착순 쿠폰 발급은 동시성 문제가 필연적으로 발생하는 기능입니다. 특히 동시 접속자가 많을수록 데이터 정합성과 시스템 성능을 유지하기 어려운 과제를 해결해야 합니다.

따라서 다양한 동시성 제어 방법(Pessimistic Lock, Optimistic Lock, Redis 기반 로직)을 적용하여 문제를 해결하고 성능 검증 후 적용할 방식을 채택했습니다.

2. 구현 및 테스트


3. 결론


<aside> 1️⃣

Pessimistic Lock:

<aside> 2️⃣

Optimistic Lock:

<aside> 3️⃣

Redis INCR:

<aside> 4️⃣

Redis SCARD + SADD (Transaction 적용):

Redis 기반의 SCARD + SADD 방식이 아래 이유로 최적의 솔루션이라고 판단했습니다.