Portfolio

넷플릭스 모방 프로젝트 (Flix)

개인 프로젝트 | 개인

MSA 아키텍처 기반 영상 스트리밍 플랫폼

시스템 아키텍처

Actor

Client

Nginx

API Gateway & LB

MSA

Session

내부 서버

Auth

인증 서버

Streaming

스트리밍 서버

Redis

세션

PostgreSQL

DB

Filebeat

로그 수집

Kafka

로그 전송

ELK Stack

LogstashElasticsearchKibana
|

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

Links