inflearn logo
강의

Course

Instructor

First-come, first-served event system that you learn through practice

What do I do if an error occurs while issuing a coupon?

쿠폰 발급 유저 흐름에 대한 질문

307

mj199504257178

12 asked

0

쿠폰이 발급되고 바로 사용하려는 유저가 있다면 어떻게해야하나요?

실무에서 보통의 경우 어떻게 처리하는지 궁금한데요.

예를 들어서, 쿠폰이 생성되려면 시간이 다소 소요될 수 있다는 안내 문구와 같은 정책으로 안고가는지.. 아니면 다른 좋은 방법이 있는지 궁금합니다.

강의 내용 흐름

  1. 레디스를 통해서 싱글 스레드로 쿠폰 개수 확인

  2. 제한 범위 안이라면 클라이언트에게 쿠폰 발급 성공 응답

  3. 비동기로 처리량을 조절하면서 쿠폰 데이터를 저장

  4. 실제 유저가 아직 쿠폰 발급이 안되었는데, 쿠폰 사용 시도

    1. 이 경우 어떻게 대응하는지 궁금합니다.

       

java docker spring-boot kafka redis

Answer 2

0

169developer9973

이민준님 안녕하세요.
정책같은경우는 상황에 따라서 다르기때문에 어떤것이 정답이다라고 말씀드릴수는 없을것같습니다.

쿠폰이 생성되기까지 약간의 시간이 소요되는것이 가능한 상황이라면 이런정책을 안고갈 수 있을 것 같으며, 그것이 안된다면 감당이 가능한 트래픽만 api 의 요청을 할 수 있도록 해야합니다.

이는 콘서트 티케팅과 같은 이벤트때 순서표를 받는것을 생각하시면 수월할 것 같습니다.

또한, 카프카를 사용했을 때 생각하시는것처럼 많은 시간차이가 발생하지 않으며 준실시간성으로 생각됩니다.

메인으로 질문을 주셨던 실제유저가 쿠폰이 발급이 안되었는데 쿠폰사용을 시도하는 케이스는 일어나지 않습니다. 쿠폰이 발급이 안되었기때문에 사용할 쿠폰이 없기때문입니다.

다른 질문이 있으시다면 말씀 부탁드리겠습니다.

감사합니다!

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다.

제공해주신 정보에는 질문하신 쿠폰 발급과 관련된 구체적인 처리 방법에 대한 내용이 포함되어 있지 않습니다. 따라서, 일반적인 관점에서 답변드리겠습니다.

쿠폰이 발급되고 바로 사용하려는 유저의 경우, 실무에서는 몇 가지 방법을 고려할 수 있습니다.

  1. 쿠폰 발급과 동시에 사용 가능 상태로 만들기: 쿠폰의 발급과 사용 가능 상태를 빠르게 전환하여 유저가 즉시 사용할 수 있도록 합니다. 이를 위해 쿠폰 발급 로직을 최적화하고, 필요한 경우 발급 과정을 비동기로 처리하여 사용자 경험을 저해하지 않도록 할 수 있습니다.

  2. 유저에게 명확한 안내 제공: 만약 쿠폰 발급에 시간이 소요된다면, 유저에게 쿠폰 발급 완료 시점이나 대략적인 시간을 사전에 안내해주는 것이 좋습니다. 이는 유저의 불편함을 최소화하고, 쿠폰 사용에 대한 기대치를 명확하게 설정하는 데 도움이 됩니다.

  3. 임시 쿠폰 코드 발급: 쿠폰 생성 과정이 길어질 경우, 임시 쿠폰 코드를 발급하여 사용자가 즉시 할인 혜택을 받을 수 있도록 하고, 실제 쿠폰 데이터는 비동기적으로 처리하여 저장합니다. 이 경우, 임시 쿠폰 코드와 실제 쿠폰 코드가 매핑되도록 관리해야 합니다.

  4. 쿠폰 사용 조건 명시: 쿠폰 발급 후 바로 사용할 수 없는 경우, 해당 쿠폰의 사용 조건을 명확하게 명시해 사용자가 혼란을 겪지 않도록 합니다. 예를 들어, “쿠폰 발급 후 10분 이후부터 사용 가능”과 같은 안내를 쿠폰 발급 시 함께 제공할 수 있습니다.

실제 적용할 방법은 비즈니스의 목적, 유저 경험, 시스템의 기술적 한계 등 여러 요소를 고려하여 결정해야 합니다. 따라서, 상황에 맞는 최적의 해결책을 찾기 위해 추가적인 기술 조사와 테스트가 필요할 수 있습니다.

ApplyService와 Consumer서비스의 db공유?

0

54

2

consumer가 topic을 전부 사용하기 전에 사용자에게는 쿠폰이 발급된것으로 확인하는 과정에서 발생가능한 문제.

0

74

1

쿠폰에 관련되어서 좀 더 참고할만한 자료가 있을까요?

0

83

2

흐름정리 제가 이해한게 맞나요?

0

70

2

안되서 스트레스 받아요

-2

108

2

프로젝트 진행할때 모듈로 추가하는 이유가 궁금합니다!

0

183

2

Redis 활용하기 문제점 해결하기 부분이 이해가 잘 안됩니다...

0

213

1

카프카를 도입하고 난 뒤 로그로 보여지는 장점을 발견하지 못하고 있습니다.

0

167

2

키생성 방식에 따른 성능

0

166

2

사용자 동선에 대한 트랜잭션 문의

0

134

2

강사님 강의를 듣고 실제 프로젝트에서 이벤트 응모 시스템을 만들어 봤습니다.

0

209

1

쿠폰 발급 개수 제한

0

182

2

ApplyService 의 총 처리 시간이 궁금합니다.

0

154

1

쿠폰 생성 에러 처리에 관해서 질문이 있습니다.

0

224

2

마지막에 하신 테스트 자체는 실패하는 게 맞는거죠??

0

274

2

안녕하세요 질문 있습니다!

0

293

1

수량 조절에 대한 질문이 있습니다.

0

230

2

kafka Producer 실행 중 에러 시 redis count 정합성 이슈

0

398

2

test 과정에서 오류가 발생합니다.

0

381

1

도커 환경설정에 대해서

0

268

2

Redis의 INCR 사용 해도 Race condition이 잡히지 않는 문제

0

594

1

consumer 모듈

0

322

2

카프카 토픽 생성오류

0

381

2

redis 를 사용하여 문제점 해결하기

0

371

2