마이크로서비스 아키텍처 기반 엔터프라이즈급 DRM VOD 스트리밍 플랫폼 배포 가이드
전체 서비스 및 할당된 포트 목록
| 서비스 | 포트 | 설명 | 트래픽 수준 |
|---|---|---|---|
| drm-analytics | :9701 | 분석 및 통계 서비스 | 낮음 |
| drm-backup | :9702 | 백업 자동화 서비스 | 낮음 |
| drm-dashboard | :9703 | 관리자 대시보드 및 콘텐츠 관리 | 낮음 |
| drm-encoding | :9704 | HLS 인코딩 및 DRM 패키징 (FFmpeg) | 중간 |
| drm-gateway | :9705 | API 게이트웨이 - 단일 진입점 | 높음 |
| drm-key | :9706 | SPEKE v2 키 서버 (Widevine/PlayReady/FairPlay) | 낮음 |
| drm-license | :9707 | DRM 라이선스 발급 서버 | 높음 |
| drm-logs | :9708 | 중앙 집중식 로그 수집 | 높음 |
| drm-notification | :9709 | 알림 서비스 (이메일, Slack, Discord) | 낮음 |
| drm-player | :9710 | 사용자 재생 및 세션 관리 | 높음 |
| drm-transfer | :9711 | R2/S3 파일 전송 관리자 | 중간 |
고성능 요구사항 - 전용 서버 권장
FFmpeg 기반 HLS 인코딩 및 DRM 암호화. 멀티 해상도 ABR 래더를 위한 CPU 집약적 트랜스코딩 작업.
API 게이트웨이 - 모든 요청의 단일 진입점. JWT 인증, 요청 제한 (60/분), 요청 라우팅.
JWT 토큰 검증을 통한 DRM 라이선스 발급. 모든 재생 세션에 라이선스 검증 필요.
중간 수준 리소스 요구사항
모든 서비스의 중앙 집중식 로그 수집. 지속적인 로깅 및 분석을 위한 높은 디스크 I/O.
사용자 재생 세션 관리 및 재생 로깅. 매 세션마다 데이터베이스 기록.
재생 패턴, 유지율, 리포트. 대규모 집계 쿼리 처리.
콘텐츠 관리 및 시스템 모니터링을 위한 관리자 대시보드.
경량 서비스 - 리소스 공유 가능
DRM 키 생성을 위한 SPEKE v2 키 서버. Widevine, PlayReady, FairPlay 지원.
Cloudflare R2 업로드/다운로드 관리자. 클라우드 스토리지로의 파일 전송 처리.
멀티 채널 알림 서비스: 이메일, Slack, Discord, Webhook 알림.
데이터베이스 및 R2 콘텐츠를 위한 자동 백업 서비스. 예약된 작업.
요청 라우팅 및 빈도 분석
확장 가능한 인프라 구성
프로덕션 배포를 위한 중요 고려사항
가장 높은 리소스 소비. CPU 집약적 FFmpeg 처리. 전용 서버 강력 권장. 동시 인코딩 작업 제한 필요.
모든 트래픽 통과 - 잠재적 병목. 트래픽 증가 시 수평 확장 필요. 요청 제한 적용 (60/분).
모든 재생 시 호출 - 가장 높은 호출 빈도. Redis 캐싱 필수. 데이터베이스 로드 밸런싱 고려.
playback_logs 테이블 빠른 증가. 테이블 파티셔닝 구현 필요. 성능을 위한 정기적인 아카이빙 필요.