システム設計インタビュー:ビデオプラットフォームを設計する方法(例えば、YouTubeの、ネットフリックス)
方法論:READ MF!
[もともとポストから:システム設計インタビュー:チャットシステムを設計する方法(例えば、Facebookのメッセンジャー、微信かのWhatsApp) ]
自分自身を思い出させる「READ MF!」方法論。
主なデザインと用語
まずは、これは難しい問題である認めましょう。ユーチューブは、スマートエンジニアの何百もそれを維持向上しており、それが60分で良いものを設計することはほとんど不可能です。このソリューションは、よりかなりまともですシステム設計のインタビューGrokkingそれはシステムについてのバックボーンをカバーしています。
また、三大層、プレゼンテーション、サービスおよびデータ層に通常通りにシステムを分割することができます。
いくつかの重要な用語。あなたが精通していない場合は、ビットをブラッシュアップ
- CDN:動画の分散キャッシュ
- コーデック:符号化及び復号化、ビデオは、異なる解像度と異なるフォーマットに符号化されることになる、例えば、16:9のMP4、4:3のAVI
- 動画の処理が正常にキューとワークフローを経由して非同期に行われ、遅いです
- ビデオデ複製、ハッシュコンテンツ(SHA、MD5)、位相相関、ブロックマッチング。あなたはフーリエ変換を忘れた場合は、見て3Blue1Brownを
- メタデータシャーディング、詐欺VSプロ。ユーザーによるシャードビデオは(人気のあるユーザーのためのホットパーティション)のuuid場合。ビデオによるシャードビデオは(人気の動画のホットパーティション)のuuid場合
- ホットホットパーティション/ホットキー解決するために:コンシステント・ハッシュ法を(オリジナルの論文1997:コンシステント・ハッシュ法とランダムツリー:World Wide Web上のリリーフホットスポットのための分散キャッシュ・プロトコル)+ +レプリケート・データをロードバランシング(必要には、自動的に最初のホットキーを発見し、 Redisのは組み込まれていサポート)。アリババクラウド読みます
- コメント/デザイン返信、好きで、表示回数(カウンタのすべての種類)は、別の記事で説明されるだろう。
包子YouTubeのビデオ