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

전동혁님의 프로필 이미지

작성한 질문수

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

Consumer 사용하기

데이터베이스에 쿠폰 insert 실패시

작성

·

201

·

수정됨

0

안녕하세요. 강의 잘 듣고있습니다 !

카프카 컨슈머가 쿠폰레포지토리에 save하는 과정에서 모종의 이유로 실패하여 롤백 되었을 때, 레디스에서는 이미 increment가 되었는데 이걸 하나 빼줘야되는거 아닌가요?

이런 처리는 어떻게하는지 궁금합니다 !

추가) 뒤에 얘기가 나오는군요 ㅎㅎㅎ..

 

FailedEvent를 저장하는 것도 실패하였다면, 배치프로그램이 제 역할을 못할 것 같은데요.. !

 

그렇다면 로그를 보고 판단해야할 것 같은데 실무에서도 그렇게 진행이 될까요 ?

 

그리고, FailedEvent를 삽입하는 것에서도 에러가 발생할 수 있기 때문에 또 try catch로 묶어서 이것 마저 실패할 경우에도 로그를 따로 남겨야하는지 궁금합니다 !

답변 1

0

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

전동혁님 안녕하세요!
처리방법에는 여러가지 방법이 있을 것 같습니다!
FailedEvent 를 저장하다가 실패하면 Dead Letter Queue 를 사용하여 재발급을 시도할 수 있을 것 같습니다.
Dead Letter Queue 에서도 실패한다면 일정 횟수 재시도 후 최종적으로 실패하면 개발자(혹은 운영진) 에게 메시지 혹은 메일을 활용하여 알림을 주어 오류를 인지하도록 한 뒤 후처리를 할 수 있을 것 같습니다.

실패할 경우 로그는 항상 남기는 것이 좋다고 생각합니다.

좋은질문 주셔서 감사합니다.