Portfolio→→→→→|→→→→|
넷플릭스 모방 프로젝트 (Flix)
개인 프로젝트 | 개인
MSA 아키텍처 기반 영상 스트리밍 플랫폼
시스템 아키텍처
Actor
Client
Nginx
API Gateway & LB
MSA
Session
내부 서버
Auth
인증 서버
Streaming
스트리밍 서버
Redis
세션
PostgreSQL
DB
Filebeat
로그 수집
Kafka
로그 전송
ELK Stack
Logstash→Elasticsearch→Kibana
Prometheus
메트릭 (예정)
Grafana
시각화 (예정)
GitHub
소스 관리
Jenkins
빌드/테스트
Docker
배포
Kubernetes
예정
Config Server
Spring Config
보안 / 모니터링
서비스 / CI
DB / ELK
Redis / Kafka
인프라
상세 내용
- 스트리밍 서비스: Spring Boot + PostgreSQL
- 인증 서비스: OAuth, JWT 토큰
- 세션 서비스: Redis 기반 세션 스토리지 (내부 API 전용)
- 로그 파이프라인: Filebeat → Kafka → ELK Stack
- 모니터링: Prometheus + Grafana (예정)
- CI/CD: GitHub → Jenkins → Docker
하이라이트
분산 로그 파이프라인 구축
Problem
서비스별 로그가 각 서버에 분산되어 장애 추적 및 모니터링이 어려운 상황
Solution
Filebeat → Kafka → ELK Stack 파이프라인 구성으로 로그 중앙화
Result
Kibana 단일 대시보드에서 전체 서비스 로그 실시간 조회 가능, Kafka 기반으로 로그 유실 없이 안정적 수집
MSA 서비스 간 인증 체계
Problem
마이크로서비스 간 인증/세션 공유가 필요하나 각 서비스가 독립적으로 동작
Solution
Redis 기반 세션 스토리지 + JWT Access/Refresh 토큰 이중 인증 구현
Result
서비스 간 무상태 인증 체계 확보, 세션 서비스 내부 API 전용으로 보안 강화
Docker 기반 MSA 컨테이너화
Problem
서비스별 실행 환경이 달라 로컬·운영 간 환경 차이로 인한 배포 오류 발생
Solution
각 마이크로서비스를 Docker 컨테이너로 패키징, Docker Compose로 로컬 환경 통합 구성
Result
서비스별 독립 배포 및 롤백 가능, 환경 차이로 인한 배포 오류 제거
기술 스택
Spring BootPostgreSQLRedisDockerJenkinsKafkaELK StackPrometheusGrafanaNginx