이벤트 처리를 위한 여러가지 방식
815
작성한 질문수 4
안녕하세요 강사님! 강의 너무 잘 들었습니다. 강의를 다 듣고 몇가지 질문이 있어 이렇게 질문 드립니다.
카프카에 대해서 명확히 이해하지 못해서 그러는데 Consumer에서도 결국 토픽에서 가져와서 MySQL DB에 저장을 하는 방식인데, MySQL의 처리속도가 1분에 100개라고 한다면 100분이 걸리는 것은 동일한거 아닌가? 하는 궁금증이 들었습니다! 카프카를 사용하는 이유는 단순히 수많은 요청이 왔을 때 처리량을 조절해 DB가 다운되지 않도록 함인가요?
유명 연예인의 티켓팅 서비스 같은 경우처럼 좌석번호마다 다른 티켓으로 보는 경우는 어떤 방식을 사용하는게 맞는것인지 문득 궁금해졌습니다! 이전 동시성 강의처럼 Lock을 거는 방식을 사용하는 방식이 옳을지 아니면 이번 강의에서 Redis의 Set을 사용하여 좌석번호마다 좌석이 찼는지를 구별하는것이 옳을지, 아니면 또 다른 방법을 사용하는지 궁금합니다!
마지막에서 쿠폰을 발급하다가 에러가 발생하면 여러가지 방식이 있다고 하셨는데 또 어떤 방식이 있는지, 또한 그 방식이 현재 강사님께서 설명해주신 FailedEvent와 무슨 장단점 차이가 있는지가 궁금합니다!
답변 1
1
iii 님 안녕하세요.
말씀하신 의도가 맞습니다. 수많은 요청이 들어왔을때 처리량을 조절하여 서비스에 영향을 가지 않는것을 의도하였습니다.
저도 티켓팅같은 서비스는 개발을 해보지 않아서 정확하지 않을 수 있습니다만, 방법은 여러가지가 있을 수 있습니다.
redis 를 활용하여 좌석을 key 로 잡고 lock 을 걸 수 있을 것 같습니다.
그렇게된다면 동일한 좌석에 한해서는 중복으로 예매되는일이 없을 것 같습니다.첫번째로는 retry 를 통해 재시도를 할 수 있을 것 같습니다.
두번째로는 에러처리를 하는 별도의 토픽(A) 을 만들고 A 토픽을 컨슘하는 컨슈머에서 받아서 처리할 수 있을 것 같습니다. 자세한 내용은 kafka event error handling 전략을 보시면 좋을 것 같습니다.
감사합니다!
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
307
2
수량 조절에 대한 질문이 있습니다.
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
382
2





