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

요약

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

아키텍처 개념을 실제 설계 판단에 연결하기 위한 참고 노트입니다.

핵심 포인트

  • 가상 면접 사례로 배우는 대규모 시스템 설계 기초 리뷰
  • 가상 면접 사례로 배우는 대규모 시스템 설계 기초
  • 14장 유튜브 설계
  • 요구사항 분석
  • 개략적 설계 방안

지식 그래프

정리 내용

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

학습 목적으로 정리한 내용으로 문제가 있다면 내리겠습니다.

(이 책은 한국어판 저작권은 에이전시 원을 통해 저작권자와의 독점 계약으로 인사이트에 있습니다. 저작권법에 의해 한국 내에서 보호를 받는 저작물이므로 무단전재와 무단 복제를 금합니다.)

14장 유튜브 설계

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

요구사항 분석

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

개략적 설계 방안

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

  • 비디오는 CDN에 저장한다 재생 버튼을 누르면 CDN으로 부터 스트리밍이 진행된다.
  • API 서버 : 비디오 스트리밍을 제외한 모든 요청은 API서버가 처리한다. 피드 추천, 비디오 업로드, 메타데이터 데이터 베이스 갱신, 사용자 가입 등 핵심 Flow로 아래 두 절차를 요청했다고 가정하자
  • 비디오 업로드 절차
  • 비디오 스트리밍 절차 답변
  • 트랜스코딩 서버는 비디오 트랜스코딩으로 비디오의 포맷을 변환하는 절차이다. 대역폭에 맞춰 최적의 비디오 스트림을 제공하기 위함이다. → 이 저장소가 Blob저장소이다.
  • 스트리밍 절차는 스트리밍 프로토콜에 대해 알아야한다. 비디오 스트리밍에서 데이터 전송을 위한 표준화된 통신방법으로MPEG-DASH, 애플 HLS, 마이크로소프트 스무드 스트리밍 등등이 있다. 이런 프로토콜이 있다는 점을 알고만 있으면 좋을 듯 하다.

비디오 스트리밍 Flow

마무리

  • API 계층의 규모 확장성 방안
  • 데이터베이스 계층 규모 확장성 방안
  • 라이브 스트리밍 방안
    • 작은 단위의 데이터를 실시간으로 빨리 처리하는 기술
  • 비디오 삭제
  • 등

학습 목적으로 정리한 내용으로 문제가 있다면 내리겠습니다.

(이 책은 한국어판 저작권은 에이전시 원을 통해 저작권자와의 독점 계약으로 인사이트에 있습니다. 저작권법에 의해 한국 내에서 보호를 받는 저작물이므로 무단전재와 무단 복제를 금합니다.)

출처