선착순 쿠폰 발급 시나리오에서 카프카를 사용하는 이유
·
etc
배경카프카 학습 과정에서 동시성 경합이 발생하는 선착순 쿠폰 발급 시나리오에서 초과 발급을 막기 위해 카프카를 도입해 보라는 요구사항을 접하게 되었습니다. 처음에는 의문이 들었습니다. 카프카는 메시지 브로커이지, Redis나 DB처럼 공유 자원의 값을 원자적으로 변경해 주는 도구는 아니기 때문입니다. 그렇다면 카프카는 선착순 쿠폰 발급 시나리오에서 어떤 역할을 할 수 있을까요? 이 글에서는 선착순 쿠폰 발급 시나리오를 통해 카프카를 동시성 제어 도구처럼 사용해보고, Redis와 DB 기반 방식과 비교해 보며, 최종적으로 카프카가 이 문제에서 어떤 역할을 맡는 것이 자연스러운지 정리해보려 합니다.목표쿠폰 경합과 같은 동시성 충돌 상황에서 N개의 쿠폰을 발급해야 할 때, 카프카를 도입해야 하는 이유에 대해 ..