2025-03-12
Flix 프로젝트: 개발 기록 - 2
FlixKafkaStreamingJWTSpring Boot
오늘의 스트리밍 서비스 개발 기록
넷플릭스 영감의 프로젝트에서 JWT 인증과 메시지 큐 연동을 통한 핵심 스트리밍 서비스 기능 구현에 집중했습니다.
1. 오늘의 진행 상황 & 구현 내용
Kafka 연동
@KafkaListener를 통한 "test-topic" 메시지 수신 테스트 구현/kafka-send엔드포인트를 통한 메시지 전송 검증
비디오 스트리밍 최적화
- HTTP Range Request 지원 개발로 부분 콘텐츠 전달(206 상태) 구현
- JWT 인증이 필요한 동적 API에서 정적 비디오 리소스 분리
- 대용량 비디오 파일을 위한 효율적인 스트리밍 구현
2. 문제 있었던 점 & 해결 과정
이슈 1: HTTP Range Request 구현
- 문제: Range 헤더 파싱과 적절한 에러 핸들링을 통한 바이트 범위 계산
- 해결: 잘못된 요청에 대해 HTTP 416 에러를 반환하는 검증을 추가하고, 선택적 데이터 전송을 위해
StreamingResponseBody를 활용
이슈 2: Kafka 초기 테스트
- 문제: 수신/발신 테스트 중 메시지가 예상대로 전달되지 않음
- 해결: 설정 파라미터(토픽 이름, 그룹 ID)를 검토하고 간단한 테스트 메시지로 기능 검증
3. 정리 & 앞으로의 계획
요약: 핵심 스트리밍 API 구현, HTTP Range Request 최적화, JWT 보안 통합, Kafka 테스트를 완료하여 서비스의 기반 아키텍처를 수립했습니다.
향후 계획:
- 정적 및 동적 리소스 간 보안 정책 강화
- Prometheus/Grafana를 통한 모니터링 및 Kafka 기반 이벤트 분석
- 크로스 디바이스 재생 동기화 및 WebSocket 기반 실시간 알림