inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

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

강사님 궁금한것이 있습니다.

420

박경훈

작성한 질문수 5

0

궁금한점이 있습니다. 실패에 대한 처리를 폴링방식으로하면, 고객에게 바로바로 알릴 수 없지 않나요?

 

만약에 100개 쿠폰을 선착순으로 발급해야하는데,

그 중에 51개 쨰에서 발급중 실패가 된다면?

 

제가 생각된 건

  1. 재처리

    1. 재처리동안은 나머지 사용자는 대기하는가?

  2. 실패에 대한 처리를 실패 테이블에 인서트

    1. 나머지 쿠폰 발급

    2. 그렇다면 발급된 총 쿠폰의 수는 100개 이지만 51번째 고객 처리는?

 

궁금합니다!

java docker spring-boot kafka redis

답변 1

0

최상용

박경훈님 안녕하세요.
좋은질문 감사합니다!

재처리 시도시에 컨슈머가 1개이고 concurrency 가 1이라면 나머지 사용자는 대기하게 됩니다.
실패에 대한 처리를 실패 테이블에 insert 한다면 51번째를 제외한 99개가 발급이 되게 될 것이고, 이후에 재시도를 통하여 51번째 사용자에 대해서 발급해줄 수 있게 됩니다.

토픽에 들어온 데이터는 쿠폰이 발급 되야 하는 대상자들이고, 발급 대상자들은 api 에서 판별이 되게 되므로 결과적으로 100개의 쿠폰이 발급되게 됩니다.

질문이 있으시면 답글 혹은 질문 남겨주세요!
감사합니다.

0

parkhs

말씀하신 내용 중 'concurrency'가 무엇을 의미하는지 잘 모르겠습니다..!

0

최상용

앗, 1개의 스레드로만 작업을 한다는 의미로 말씀을 드린 것 이었습니다!

ApplyService와 Consumer서비스의 db공유?

0

56

2

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

0

77

1

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

0

86

2

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

0

73

2

안되서 스트레스 받아요

-2

111

2

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

0

185

2

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

0

213

1

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

0

167

2

키생성 방식에 따른 성능

0

168

2

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

0

134

2

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

0

210

1

쿠폰 발급 개수 제한

0

183

2

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

0

154

1

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

0

224

2

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

0

276

2

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

0

295

1

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

0

308

2

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

0

231

2

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

0

398

2

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

0

383

1

도커 환경설정에 대해서

0

269

2

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

0

599

1

consumer 모듈

0

322

2

카프카 토픽 생성오류

0

383

2