Skip to content

Conversation

@mrangjw
Copy link
Contributor

@mrangjw mrangjw commented Feb 12, 2026

목적

대기열 시스템 운영 안정성 확보 및 인증 시스템 보완 (10만 동시접속 성능 테스트
전 필수 개선)

Closes #26

변경 사항

대기열 시스템

  • active 카운터 String(INCR) → Sorted Set + 하트비트 타임스탬프 전환 (유령
    유저 원천 차단)
  • 배치 입장 Lua Script 원자적 처리 (큐→active 이동 레이스 컨디션 제거)
  • Redisson 분산 락으로 스케줄러 중복 실행 방지
  • KEYS queue:*SMEMBERS active-schedules 전환 (O(N) 전체 스캔 제거)
  • 스케줄러 에러 핸들링 추가 (장애 시 조용한 무시 → 명시적 로깅)
  • 큐 크기 상한선 추가 (MAX_QUEUE_SIZE 초과 시 503)
  • 설정값 외부화 (QueueProperties + application.yaml)

인증

  • 로그인/가입 응답에 name, role 필드 추가
  • POST /api/v1/auth/logout 추가 (Redis 토큰 블랙리스트)
  • JwtAuthenticationFilter에 블랙리스트 체크 추가
  • JwtProvider에 getRemainingExpiration() 추가

데이터

  • init.sql total_seats를 zones 합산값(5100)으로 수정
  • init.sql 비밀번호 BCrypt 해싱 적용

신규 파일

  • batch_admit.lua — 배치 입장 Lua Script
  • QueueProperties.java — 대기열 설정값 클래스

테스트

  • gradle build 성공
  • 회원가입 → name/role 포함 응답 확인
  • 로그인 → JWT 발급 확인
  • 대기열 진입 → 배치 입장 → 토큰 발급 확인
  • 하트비트 정상 동작
  • 대기열 이탈 정상 동작
  • 로그아웃 → 블랙리스트 등록 → 이후 401 확인
  • 토큰 없이 접근 → 401 확인

@mrangjw mrangjw linked an issue Feb 12, 2026 that may be closed by this pull request
25 tasks
@mrangjw mrangjw self-assigned this Feb 12, 2026
@mrangjw mrangjw merged commit d54d653 into develop Feb 12, 2026
@mrangjw mrangjw deleted the feat/#26 branch February 12, 2026 18:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feat] 대기열 시스템 고도화 및 인증 개선

1 participant