목표(요구사항): 동일한 좌석(슬롯)에 대해 먼저 들어온 요청이 먼저 처리되는 구조를 만들어야 한다.

선착순의 정의 (Event Time vs Processing Time)

Event Time 기준 선착순의 의미: 사용자가 실제로 버튼을 누른 시각을 기준으로 순차 처리

Processing Time 기준 선착순의 의미: 시스템이 해당 요청을 처리하기 시작한 시점을 기준으로 순차 처리

즉, Event Time 기준 선착순은 이론적으로 매우 이상적이지만

실제 시스템에서 일관되게 보장하기가 매우 어렵다.

반면 Processing Time 기준 선착순은, 설계적으로 정의 가능하고 내부적으로 완전히 통제(검증)가 가능하다.

Processing Time을 어떻게 구현해야 될까?

1. Redis 기반(INCR) 선착순 제어 방식

Redis 모델 특징

이건 Processing Time이 아니라, 경합에서 이긴 순서에 가깝다.

2. MQ 기반 선착순 제어 방식

MQ 모델 특징