Skip to content

[#39] 쿠폰 중복 발급 검증을 API 레이어로 이동 및 캐시-DB 2단계 조회 개선#40

Merged
SinJeongEun merged 2 commits intomainfrom
couponIssue2
Mar 26, 2026
Merged

[#39] 쿠폰 중복 발급 검증을 API 레이어로 이동 및 캐시-DB 2단계 조회 개선#40
SinJeongEun merged 2 commits intomainfrom
couponIssue2

Conversation

@SinJeongEun
Copy link
Copy Markdown
Collaborator

@SinJeongEun SinJeongEun commented Mar 17, 2026

  • comsumer는 발행의 역할만 하도록 개선
  • 테스트코드 수정
  • 실패케이스 고려, 멱등성 보장되도록 생각하기
    • 쿠폰 발행 consumer 멱등성 보장
      1. db insert 쿠폰발급정보
      2. redis save 쿠폰Id:유저id
        : redis는 캐시로 사용하고있다. redis save 실패되더라고, 추후 쿠폰발급조회api 에서 cache aside
        => 우선 두 트랜잭션을 분리하지 않겠다. redis 실패되더라도, 유저1에게 중복 발행되지는 않기 때문.

      1. 쿠폰 발급 요청 시 컨트롤러에서 사전 중복 검증 수행
      2. isIssued → checkCouponIssueStatus 리네이밍
      3. 캐시 miss 시 DB fallback 조회 후 캐시 갱신(cache warming) 추가
      4. issueCoupon에서 중복 검증 로직 제거 (컨트롤러로 이동)
@SinJeongEun SinJeongEun self-assigned this Mar 17, 2026
…실행하도록 변경 - Redis 실패 시 예외를 전파하지 않고 로깅 처리

 - 큥이기 때문에 consumer에 동일유저의 요청이 중복올 수 있음. comsumer에서도 발급유저조회 추가
@SinJeongEun SinJeongEun merged commit fc7e740 into main Mar 26, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant