Skip to content

[Feature] Redis 대기열 상태 관리(대기열 등록, 대기 순번 조회, Fast Track 진입 정책 적용) #75

@miiiiiin

Description

@miiiiiin

📌 기능 설명

대기열에 진입한 토큰의 상태 조회, 활성화 전환, 유효성 검증, 만료 처리를 담당하는 Redis 인프라 계층 구현

  1. 토큰 생명주기 관리 구현
  2. Waiting(대기) 상태의 토큰을 트래픽 유입량에 맞춰 Active(활성) 상태로 변경 처리

🎯 목적 / 기대 효과

  1. 대기 중인 사용자에게 정확한 현재 대기 순번 정보 제공
  2. 설정된 임계치(타임딜 정책 트래픽 설정)에 맞춰 순차적으로 토큰을 활성화 (DB, 주문 서버 요청 몰림 방지)
  3. Redis의 Set과 Sorted Set 자료구조를 활용 (대량 트래픽 조회 시, O(1) ~ O(log N) 성능)
  4. 스케줄러를 통해 활성열에 특정 주기마다 대기열의 토큰을 옮기는 방식으로 처리 (타임딜 오픈 시 서버 다운 방지 목적)

📋 구현 범위

  • API 설계
  • Service/Domain 변경
    • 대기 순번 조회
    • 활성 상태 검증
    • 대기 -> 활성 전환 (대기열에서 상위 N개 토큰 추출해서 활성열로 이동)
    • 활성 상태 시 TTL 설정: 활성화된 토큰에 만료 시간 설정하여 "유령 대기자" 자동 정리 (원자성 보장을 위해 Redis Pipeline 또는 Lua Script 적용 고려)
  • 토큰 만료/삭제 : 예외 상황 발생할 경우, 토큰 만료 처리
  • DB 변경 여부
  • 테스트 포함

🔗 관련 이슈(Optional)

#56

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions