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 테스트를 완료하여 서비스의 기반 아키텍처를 수립했습니다.

향후 계획:

  1. 정적 및 동적 리소스 간 보안 정책 강화
  2. Prometheus/Grafana를 통한 모니터링 및 Kafka 기반 이벤트 분석
  3. 크로스 디바이스 재생 동기화 및 WebSocket 기반 실시간 알림