1. 프로젝트 개요
MOPL은 영화, TV, 스포츠 등 다양한 콘텐츠를 탐색하고 평가하며 플레이리스트와 소셜 기능을 통해 사용자 간 취향을 공유할 수 있는 콘텐츠 플랫폼입니다.
주요 기능은 다음과 같습니다.
- 콘텐츠 검색·상세 조회 및 리뷰 작성
- 플레이리스트 생성 및 구독
- 사용자 팔로우 및 실시간 알림
- WebSocket/STOMP 기반 DM와 실시간 시청 세션
- 이메일/비밀번호 및 소셜 로그인 (Google, Kakao)
- 관리자 사용자 권한·계정 잠금 관리
대규모 트래픽과 실시간 상호작용을 고려해 PostgreSQL, Redis, Kafka를 함께 사용했으며, Prometheus와 Grafana, k6를 통해 애플리케이션의 기능 안정성과 성능을 검증했습니다.
2. 담당한 작업
프로젝트에서 인증(Auth), 사용자(User) 도메인과 실제 사용자 행동을 재현하는 k6 부하 테스트를 담당했습니다.
2.1. 인증 도메인
- Spring Security 기반 이메일·비밀번호 로그인과 로그아웃 구현
- JWT Access Token 발급 및 검증
- Refresh Token 회전 방식의 토큰 재발급 구현
- Redis 기반 사용자별 단일 활성 인증 세션 관리
- Refresh Token 원문 대신 SHA-256 해시 저장
- HttpOnly 쿠키를 이용한 Refresh Token 전달