대규모 시스템 설계 기초

    [대규모 시스템 설계 기초] 14장 - 유튜브 설계

    [대규모 시스템 설계 기초] 14장 - 유튜브 설계

    14장에서는 유튜브 시스템 설계를 다룬다.현 직장에서 영상 시스템을 해당 챕터와 비슷하게 설계되어 있기 때문에 쉽게 이해할 수 있었다. 나는 DAG는 데이터 파이프라인에서만 사용되는 줄 알았는데 DAG를 사용하여 비디오 프로세싱 파이프라인에도 적용할 수 있다는 것을 알게되었다. 요구사항 예시비디오 업로드 기능과 시청 기능 구현모바일 앱, 웹 브라우저, 그리고 스마트 TV 지원해야 함DAU는 5백만명으로 가정사용자가 머무르는 시간은 30분으로 가정다국어 지원비디어 종류와 해상도 모두 지원암호화 필요영상 최대 크기는 1GB로 제한퍼블릭 클라우드 서비스 활용 가능위 요구사항을 정리하자면 다음과 같다빠른 비디오 업로드원할한 비디오 재생재생 품질 선택 기능낮은 인프라 비용높은 가용성과 규모 확장성, 그리고 안정성..

    [대규모 시스템 설계 기초] 12장 - 채팅 시스템 설계

    [대규모 시스템 설계 기초] 12장 - 채팅 시스템 설계

    12장은 채팅 시스템 설계에 다룬다. 요구사항 예시 1:1 채팅과 그룹 채팅 모두 지원 모바일 앱, 웹 앱 모두 지원 50M DAU 그룹 채팅은 최대 100명 1:1 채팅, 그룹 채팅, 사용자 접속상태 표시 지원하고 텍스트 메시지만 주고받을 수 있음 메시지 길이는 100,000자 이하 채팅 이력은 영구적으로 보관 채팅 시스템을 설계하기 위해선 클라이언트-서버간 통신 방법에 대한 기본 지식을 갖추고 있어야 한다. 채팅 시스템은 다음 기능을 제공해야한다. 클라이언트로부터 메시지 수신 메시지 수신자(recipient) 결정 및 전달 수신자가 접속상태가 아닌 경우에는 접속할 때까지 해당 메시지 보관 채팅 서비스는 HTTP 프로토콜을 사용할 수 있지만 실시간으로 처리되어야 하기 때문에 HTTP 프로토콜은 사용하지..