.png)

프로젝트 개요
Miniflix는 Vue.js 기반의 프론트엔드와 Spring Boot 백엔드를 활용하여 Netflix 스타일의 영화 스트리밍 플랫폼을 구축한 프로젝트입니다. AWS의 다양한 서비스를 활용한 클라우드 기반 인프라와, OpenStack을 통한 온프레미스 자원 활용까지 포함한 하이브리드 아키텍처 구성이 특징입니다.
전체 아키텍처

- Frontend: Vue.js + S3 정적 웹 호스팅 + CloudFront CDN
- Backend: Spring Boot + EC2 + Target Group + ALB + CloudFront (API 오리진)
- Streaming: HLS(.m3u8) 기반 스트리밍 파일을 S3에 저장 후 CloudFront로 제공
- DB: PostgreSQL + Patroni + HAProxy를 통한 고가용성 클러스터 구성
- 로그 파이프라인: Kafka → Logstash → Elasticsearch → Kibana
- 트랜스코딩 서버: OpenStack 기반의 Transcoding VM + 파일서버 + FFmpeg 스크립트 자동화
담당 역할
1. 웹 서버 및 CDN 구성 (AWS)
- Vue.js 프론트엔드 앱을
npm run deploy
스크립트로 S3에 자동 배포되도록 구성
- CloudFront와 연결하여 글로벌 캐싱 및 빠른 응답속도 확보
- ALB + Target Group을 통해 Spring Boot 백엔드 WAS를 로드밸런싱
- CloudFront Behavior 설정을 통해
/api/*
요청은 백엔드로, 나머지는 프론트 정적 리소스로 분기
- 스트리밍 콘텐츠 S3 버킷과 CloudFront 연동, 트래픽 최적화를 위한 캐싱 구조 설계