Redis Pub/Sub을 활용한 쿠폰 발급 비동기 처리

Redis Pub/Sub을 활용한 쿠폰 발급 비동기 처리

8
AI 요약

이 글은 AI가 원문을 분석하여 핵심 내용을 요약한 것입니다.

쿠폰 발급 개선 프로세스

올리브영은 쿠폰 발급 서비스를 개선하기 위해 Redis Pub/Sub을 활용하여 비동기 처리를 도입했습니다. 이전의 동기식 프로세스는 높은 트래픽 상황에서 사용자 대기 시간을 증가시켰습니다.

기존 문제점

  • DB Connection 자원 점유 증가
  • 긴 대기 시간

새로운 시스템에서는 쿠폰 발급 Worker로 처리를 위임하며, Redis Pub/Sub와 List 자료구조를 통해 데이터 전달을 최적화했습니다.

실험 중의 이슈

  • 쿠폰 과발급 현상: 다중 Worker가 동일 메시지를 수신
  • 쿠폰 미발급 현상: 메시지 유실 문제 발생

이후, 각 Worker가 '일련번호'를 통해 List에서 데이터를 Pop하는 방식으로 수정하여 문제를 해결했습니다. 최종적으로 쿠폰 발급량이 2.2배 증가하고 대기 시간이 단축되어 사용자 경험이 개선되었습니다.