인프런 커뮤니티 질문&답변

이민준님의 프로필 이미지
이민준

작성한 질문수

실습으로 배우는 선착순 이벤트 시스템

쿠폰을 발급하다가 에러가 발생하면 어떻게 하나요 ?

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

작성

·

125

0

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

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

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

강의 내용 흐름

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

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

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

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

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

       

답변 2

0

최상용님의 프로필 이미지
최상용
지식공유자

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

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

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

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

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

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

감사합니다!

0

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

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

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

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

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

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

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

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

이민준님의 프로필 이미지
이민준

작성한 질문수

질문하기