Post

가상 면접 사례로 배우는 대규모 시스템 설계 기초 - 정리 14장 유튜브 설계

가상 면접 사례로 배우는 대규모 시스템 설계 기초 리뷰

가상 면접 사례로 배우는 대규모 시스템 설계 기초 - 정리 14장 유튜브 설계

가상 면접 사례로 배우는 대규모 시스템 설계 기초

14장 유튜브 설계

유튜브 뿐만 아니라 넷플릭스와 같은 비디오 플랫폼을 설계하는 문제에도 적용이 가능하다.

요구사항 분석

  • 빠른 비디오 업로드
  • 원활한 비디오 재생
  • 재생 품질 선택 가능
  • 낮은 인프라 비용
  • 높은 가용성, 규모 확장성 그리고 안정성
  • 지원 클라이언트 모바일, 웹 그리고 스마트 TV

    개략적 설계 방안

이 책에서 제시하는 방법은 CDN, BLOB 스토리지의 경우 기존 클라우드 서비스를 활용할 것이다.

  • 비디오는 CDN에 저장한다 재생 버튼을 누르면 CDN으로 부터 스트리밍이 진행된다.
  • API 서버 : 비디오 스트리밍을 제외한 모든 요청은 API서버가 처리한다. 피드 추천, 비디오 업로드, 메타데이터 데이터 베이스 갱신, 사용자 가입 등 핵심 Flow로 아래 두 절차를 요청했다고 가정하자

  • 비디오 업로드 절차
  • 비디오 스트리밍 절차 답변

  • 트랜스코딩 서버는 비디오 트랜스코딩으로 비디오의 포맷을 변환하는 절차이다. 대역폭에 맞춰 최적의 비디오 스트림을 제공하기 위함이다. → 이 저장소가 Blob저장소이다. Image

  • 스트리밍 절차는 스트리밍 프로토콜에 대해 알아야한다. 비디오 스트리밍에서 데이터 전송을 위한 표준화된 통신방법으로MPEG-DASH, 애플 HLS, 마이크로소프트 스무드 스트리밍 등등이 있다. 이런 프로토콜이 있다는 점을 알고만 있으면 좋을 듯 하다. Image

비디오 스트리밍 Flow

Image

Image

마무리

  • API 계층의 규모 확장성 방안
  • 데이터베이스 계층 규모 확장성 방안
  • 라이브 스트리밍 방안
  • 비디오 삭제
This post is licensed under CC BY 4.0 by the author.