<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # Netflix:按下 Play 會發生什么? > 原文: [http://highscalability.com/blog/2017/12/11/netflix-what-happens-when-you-press-play.html](http://highscalability.com/blog/2017/12/11/netflix-what-happens-when-you-press-play.html) ![](https://img.kancloud.cn/82/96/82969658213e9c53ddb909865e2ce14e_319x148.png) 本文是我新書[中的一章,就像我 10 歲時一樣解釋云](https://smile.amazon.com/Explain-Cloud-Like-Im-10-ebook/dp/B0765C4SNR)。 第一版是專門為云新手編寫的。 我進行了一些更新并添加了幾章— *Netflix:按 Play 時會發生什么?* 和*什么是云計算?-*將其升級到比初學者高幾個刻度。 我認為即使是經驗豐富的人也可以從中受益。 我還在獨立的 Kindle 電子書中創建了本文的某種擴展版本。 您可以在 [Netflix 上找到該電子書:按下 Play 會發生什么?](https://www.amazon.com/Netflix-What-Happens-When-Press-ebook/dp/B079ZKT9G8/) 因此,如果您正在尋找關于云的良好介紹或認識某個人,請看一下。 我想你會喜歡的。 我為結果感到非常自豪。 我從幾十個有時有些矛盾的資料中整理了這一章。 事實隨著時間的流逝而變化,并且取決于誰在講故事以及他們要針對的受眾。 我試圖創造盡可能連貫的敘述。 如果有任何錯誤,我很樂意修復。 請記住,本文不是技術性的深入探討。 這是一篇大圖文章。 例如,我什至沒有提到*微服務*這個詞:-) Netflix 似乎很簡單。 按播放,視頻就會神奇地出現。 容易吧? 沒那么多。 ![](https://img.kancloud.cn/98/d9/98d9a057596e9d7cc97e49633025062a_500x316.png) 鑒于我們在*中的討論,什么是云計算? 在*一章中,您可能希望 Netflix 使用 AWS 來提供視頻。 在 Netflix 應用程序中按新聞播放,存儲在 S3 中的視頻將通過 Internet 從 S3 直接流式傳輸到您的設備。 完全明智的方法……以提供更小的服務。 但這根本不是 Netflix 的運作方式。 它比您想象的要復雜和有趣得多。 看看為什么我們來看看 2017 年一些令人印象深刻的 Netflix 統計數據。 * Netflix 擁有超過 1.1 億訂戶。 * Netflix 在 200 多個國家/地區運營。 * Netflix 每季度的收入接近 30 億美元。 * Netflix 每季度增加超過 500 萬新訂戶。 * Netflix 每周播放超過 10 億小時的視頻。 相比之下,YouTube 每天流 10 億小時的視頻,而 Facebook 每天流 1.1 億小時的視頻。 * Netflix 在 2017 年每天播放 2.5 億小時的視頻。 * Netflix 占美國峰值互聯網流量的 37%以上。 * Netflix 計劃在 2018 年在新內容上花費 70 億美元。 **我們學到了什么?** Netflix 非常龐大。 他們是全球性的,擁有很多成員,播放很多視頻,并且有很多錢。 另一個相關的事實是 Netflix 是基于訂閱的。 會員每月支付 Netflix 費用,并可隨時取消。 當您按 play 在 Netflix 上放松時,效果會更好。 不高興的成員退訂。 **我們要深入** Netflix 是我們討論過的所有想法的絕妙示例,這就是為什么本章比我們介紹的其他云服務要詳細得多的原因。 深入研究 Netflix 的一個重要原因是,他們可以提供比其他公司更多的信息。 Netflix 擁有*通信*作為核心[文化價值](https://www.slideshare.net/BarbaraGill3/netflix-culture-deck)。 Netflix 不僅僅符合其標準。 實際上,我要感謝 Netflix 如此開放的架構。 多年來,Netflix 就其運作方式進行了數百次演講,并撰寫了數百篇文章。 整個行業對此都更好。 在 Netflix 上進行大量詳細介紹的另一個原因是 Netflix 令人著迷。 我們大多數人曾經一次或一次使用 Netflix。 誰會不喜歡在簾子后面偷看,看看是什么讓 Netflix 滴答作響? **Netflix 在兩個云中運行:AWS 和 Open Connect。** Netflix 如何使會員滿意? 當然有了云。 實際上,Netflix 使用兩種不同的云:AWS 和 Open Connect。 兩種云必須無縫協作才能提供無數小時的客戶滿意視頻。 **Netflix 的三個部分:客戶端,后端,內容交付網絡(CDN)。** 您可以將 Netflix 分為三部分:客戶端,后端和內容交付網絡(CDN)。 *客戶端*是用于瀏覽和播放 Netflix 視頻的任何設備上的用戶界面。 它可能是 iPhone 上的應用程序,臺式計算機上的網站,甚至是智能電視上的應用程序。 Netflix 控制著每個設備的每個客戶端。 在您按下*播放*之前發生的所有事情都發生在*后端*中,該后端在 AWS 中運行。 這包括準備所有新傳入的視頻以及處理來自所有應用程序,網站,電視和其他設備的請求。 按下*播放*后發生的所有事情均由 Open Connect 處理。 Open Connect 是 Netflix 的自定義全球內容交付網絡(CDN)。 Open Connect 將 Netflix 視頻存儲在世界各地。 當您按播放時,來自 Open Connect 的視頻流將進入您的設備,并由客戶端顯示。 不用擔心 我們稍后再討論 CDN 的含義。 有趣的是,在 Netflix,他們實際上并沒有說*在視頻*上大受歡迎,而是說*單擊標題*上的開始。 每個行業都有自己的術語。 通過控制所有三個區域(客戶端,后端,CDN),Netflix 已實現了完整的垂直整合。 Netflix 從始至終控制著您的視頻觀看體驗。 這就是為什么當您從世界任何地方單擊播放時,它都可以起作用的原因。 您可以在觀看時可靠地獲取要觀看的內容。 讓我們看看 Netflix 如何做到這一點。 ## **在 2008 年,Netflix 開始轉向 AWS** Netflix 于 1998 年成立。起初,他們通過美國郵政服務公司租借了 DVD。 但是 Netflix 看到了未來的點播視頻流。 Netflix 在 2007 年推出了其點播流媒體服務,該服務使訂戶可以通過 Netflix 網站在個人計算機上或在各種受支持的平臺上的 Netflix 軟件(包括智能手機和平板電腦,數字媒體播放器,視頻)流式傳輸電視連續劇和電影。 游戲機和智能電視。 就個人而言,點播視頻流是未來,這似乎很明顯。 是的。 我曾在幾家嘗試制作視頻點播產品的初創公司工作。 他們失敗了。 Netflix 成功。 Netflix 的表現肯定不錯,但是他們遲到了,這對他們有所幫助。 到 2007 年,互聯網已經足夠快且便宜,足以支持流視頻服務。 以前從未如此。 快速,低成本的移動帶寬的增加以及功能強大的移動設備(如智能手機和平板電腦)的推出,使任何人都可以隨時隨地以流媒體的方式更輕松,更便宜。 時間就是一切。 ## **Netflix 通過運行自己的數據中心開始** EC2 只是在 2007 年才開始使用,大約與 Netflix 的流媒體服務啟動的時間相同。 Netflix 不可能使用 EC2 來啟動。 Netflix 建立了兩個彼此相鄰的數據中心。 他們經歷了我們在前面幾章中討論過的所有問題。 建立數據中心需要大量工作。 訂購設備需要很長時間。 安裝和使所有設備正常工作需要很長時間。 并且,一旦他們一切正常,它們將耗盡容量,整個過程必須重新開始。 設備的交貨期長,迫使 Netflix 采用所謂的*垂直縮放*策略。 Netflix 制作了在大型計算機上運行的大型程序。 這種方法稱為構建*整體*。 一個程序可以完成所有工作。 問題是,當您像 Netflix 一樣快速成長時, 很難使整體可靠。 事實并非如此。 ## **服務中斷導致 Netflix 遷移到 AWS** 在 2008 年 8 月的三天內,由于數據庫損壞,Netflix 無法運送 DVD。 這是不可接受的。 Netflix 必須做點什么。 建立數據中心的經驗告訴 Netflix 一個重要的教訓-他們不擅長建立數據中心。 Netflix 擅長的是向其成員提供視頻。 Netflix 寧愿集中精力于更好地提供視頻,而不是擅長于構建數據中心。 建立數據中心并不是 Netflix 的競爭優勢,而提供視頻則是。 當時,Netflix 決定遷移到 AWS。 AWS 剛剛成立,因此選擇 AWS 是一個大膽的舉措。 Netflix 之所以選擇 AWS,是因為它想要一個更可靠的基礎架構。 Netflix 希望從其系統中消除任何單點故障。 AWS 提供了高度可靠的數據庫,存儲和冗余數據中心。 Netflix 想要云計算,因此不再需要構建大型的,不可靠的整體。 Netflix 希望在不構建自己的數據中心的情況下成為全球服務。 這些功能沒有一個在其舊的數據中心中可用,甚至永遠都不會。 Netflix 選擇 AWS 的原因是,它不想做任何*無差別的繁重任務*。 無差別的繁重工作是必須要做的,但并不能為核心業務提供優質視頻觀看體驗帶來任何好處。 AWS 為 Netflix 進行了所有不可區分的繁重工作。 這使 Netflix 人專注于提供業務價值。 Netflix 花了八年多的時間才能完成從自己的數據中心到 AWS 的遷移過程。 在此期間,Netflix 的流媒體客戶數量增長了八倍。 Netflix 現在可以在數十萬個 EC2 實例上運行。 ## **Netflix 在 AWS 中更可靠** 并不是說 Netflix 從來沒有經歷過 AWS 停機的情況,但是總的來說,它的服務比以前更加可靠。 您再也不會看到這種抱怨了: ![](https://img.kancloud.cn/2b/fa/2bfa99e290e3b63201ea3bf214b0fc51_320x106.png) 或這個: ![](https://img.kancloud.cn/90/09/90093e412f15dc84aaddb2eb10312f0c_320x132.png) Netflix 之所以如此可靠,是因為他們已采取非常規步驟來確保其服務的可靠性。 Netflix 在三個 AWS 區域中運營:一個位于北弗吉尼亞州,一個位于俄勒岡州波特蘭市和一個位于愛爾蘭都柏林。 在每個區域內,Netflix 在三個不同的可用區中運營。 Netflix 表示沒有計劃在更多地區開展業務。 添加新區域非常昂貴且復雜。 大多數公司在一個地區開展業務,更不用說兩個或三個了。 具有三個區域的優點是任何一個區域都可能發生故障,而其他區域將介入處理發生故障的區域中的所有成員。 當區域出現故障時,Netflix 將此*撤離*。 讓我們舉個例子。 假設您正在英國倫敦觀看新的*紙牌屋*。 因為它距離倫敦最近,所以您的 Netflix 設備很可能已連接到都柏林地區。 如果整個都柏林地區失敗了怎么辦? 這是否意味著 Netflix 應該停止為您服務? 當然不是! Netflix 檢測到故障后,會將您重定向到弗吉尼亞。 您的設備現在可以與弗吉尼亞州地區通話,而不是都柏林通話。 您甚至可能沒有注意到發生了故障。 AWS 區域多久發生一次故障? 每月一次。 嗯,一個地區實際上并不是每個月都會失敗。 Netflix 每月進行一次測試。 Netflix 每個月都會故意導致區域故障,以確保其系統可以處理區域級別的故障。 一個區域可以在六分鐘內撤離。 Netflix 將其稱為*全球服務模型*。 任何客戶都可以在任何地區以外的地方服務。 這真太了不起了。 而且它不會自動發生。 AWS 無法處理區域故障或為多個區域的客戶提供服務。 Netflix 獨自完成了所有這些工作。 Netflix 是弄清楚如何使用多個區域創建可靠系統的先驅。 我不知道有其他公司會竭盡所能使他們的服務如此可靠。 在這三個地區中的另一個優勢是,它使 Netflix 遍及全球。 Netflix 進行了一些測試,發現如果您在世界任何地方使用 Netflix 應用程序,都會從這三個地區之一獲得快速服務。 ## **Netflix 在 AWS 中省錢** 這可能會讓很多人感到驚訝,但是 AWS 比 Netflix 便宜。 每個流視圖的云成本最終只是其舊數據中心成本的一小部分。 為什么? 云的彈性。 Netflix 可以在需要時添加服務器,并在不需要時將其退還。 Netflix 不必擁有大量額外的計算機,只是為了處理高峰負載而無所事事,而僅在需要時才支付所需的費用。 我們在*中討論的所有內容什么是云計算*? 章節。 ## **在按下 Play 之前,AWS 會發生什么?** 任何不涉及提供視頻的內容都將在 AWS 中處理。 這包括可伸縮計算,可伸縮存儲,業務邏輯,可伸縮分布式數據庫,大數據處理和分析,推薦,轉碼以及數百種其他功能。 不用擔心,您不需要了解所有這些內容,但是由于您可能會發現它很有趣,因此我將對其進行簡要說明。 **可擴展計算和可擴展存儲。** *可伸縮計算*為 EC2,*可伸縮存儲*為 S3。 在這里對我們來說沒有什么新鮮的。 您的 Netflix 設備(iPhone,TV,Xbox,Android 手機,平板電腦等)與 EC2 中運行的 Netflix 服務進行對話。 查看可能要觀看的視頻列表? 這就是您的 Netflix 設備正在與 EC2 中的計算機聯系以獲取列表。 詢問有關視頻的更多詳細信息? 這就是您的 Netflix 設備正在與 EC2 中的計算機聯系以獲取詳細信息。 就像本書中提到的所有其他云服務一樣。 **可擴展的分布式數據庫。** Netflix 將 DynamoDB 和 Cassandra 都用于其分布式數據庫。 這些名稱對您而言并不意味著什么,它們只是高質量的數據庫產品。 *數據庫*。 數據庫存儲數據。 您的個人資料信息,帳單信息,您曾經看過的所有電影以及所有此類信息都存儲在數據庫中。 *已分發。* 分布式表示數據庫不在一臺大型計算機上運行,??而是在多臺計算機上運行。 您的數據將復制到多臺計算機,因此,如果一臺或什至兩臺保存數據的計算機發生故障,您的數據將是安全的。 實際上,您的數據已復制到所有三個區域。 這樣,如果某個區域發生故障,那么當新區域準備開始使用它時,您的數據就會在那里。 *可擴展*。 可伸縮性意味著數據庫可以處理您想要放入的盡可能多的數據。 這是分布式數據庫的一大優勢。 可以根據需要添加更多計算機以處理更多數據。 **大數據處理和分析。** *大數據*只是意味著有很多數據。 Netflix 收集了大量信息。 Netflix 知道每個人觀看時都觀看了什么,觀看時所處的位置。 Netflix 知道成員觀看了哪些視頻,但決定不觀看。 Netflix 知道每個視頻被觀看了多少次……還有更多。 將所有數據以標準格式放入稱為*處理*。 理解所有這些數據稱為*分析*。 分析數據以回答特定問題。 **Netflix 只為您個性化藝術品。** 這是一個很好的例子,說明 Netflix 如何利用其數據分析功能吸引您觀看更多視頻。 在四處尋找在 Netflix 上觀看的內容時,您是否注意到每個視頻始終顯示一個圖像? 這就是*標頭圖片*。 標題圖片旨在吸引您,吸引您選擇視頻。 這個想法是標題圖像越引人注目,您觀看視頻的可能性就越大。 而且,您觀看的視頻越多,您退訂 Netflix 的可能性就越小。 這是*陌生事物*的不同標題圖片的示例: ![](https://img.kancloud.cn/87/5d/875ddf0bd6c38b38bd92d65e5bc8db38_500x293.png) 了解為每個視頻專門選擇的顯示圖像可能會讓您感到驚訝。 并非所有人都看到相同的圖像。 以前每個人都看到相同的標題圖像。 運作方式如下。 成員從一組選項中隨機顯示一張圖片,如上面 *Stranger Things* 拼貼中的圖片。 Netflix 會在每次觀看視頻時進行計數,記錄選擇視頻時顯示的圖片。 對于我們的*陌生事物*示例,假設顯示了中央的合影時,*陌生事物*被觀看了 1,000 次。 對于所有其他圖片,每張只被觀看了一次。 由于組圖片是吸引成員觀看的最佳方式,因此 Netflix 會使其永遠成為 *Stranger Things* 的標題圖像。 這稱為*數據驅動*。 Netflix 以數據驅動公司而聞名。 在這種情況下,將收集數據(在這種情況下為與每張圖片關聯的視圖數),并用于做出最佳決策(選擇哪種標題圖像)。 聰明,但您能想象做得更好嗎? 是的,通過使用更多數據。 這就是未來的主題-通過學習數據來解決問題。 你和我可能是截然不同的人。 您是否認為我們受到相同類型的標題圖像的激勵? 可能不是。 我們有不同的口味。 我們有不同的偏好。 Netflix 也知道這一點。 因此,Netflix 現在可以個性化顯示給您的所有圖像。 Netflix 會嘗試選擇與您的視頻最相關的藝術品。 他們是如何做到的? 請記住,Netflix 記錄并統計您在其網站上所做的一切。 他們知道您最喜歡哪種電影,最喜歡哪些演員,等等。 假設您的建議之一是電影*善意狩獵*。 Netflix 必須選擇標題圖像才能顯示給您。 目標是顯示一張圖像,讓您了解可能感興趣的電影。Netflix 應該向您顯示哪張圖像? 如果您喜歡喜劇,Netflix 會向您展示羅賓·威廉姆斯(Robin Williams)的圖像。 如果您更喜歡浪漫電影,則 Netflix 會向您顯示馬特·達蒙(Mat Damon)和米妮·德米妮(Minnie Driver)準備親吻的圖像。 ![](https://img.kancloud.cn/5c/e6/5ce64df04490da05c92d0368b16d3ba2_500x172.png) 通過向羅賓·威廉姆斯(Robin Williams)展示,Netflix 使您知道電影中可能有幽默感,并且因為 Netflix 知道您喜歡喜劇,所以該視頻非常適合。 Matt Damon 和 Minnie Driver 的圖像傳達了完全不同的信息。 如果您是喜劇迷并且看到了這張圖片,則可以跳過。 這就是為什么選擇正確的標題圖片如此重要的原因。 它發送強烈的個性化信號,指示電影的內容。 這是另一個示例*低俗小說*。 ![](https://img.kancloud.cn/78/43/78437e213e25b692ee9ea0de82937dac_499x171.png) 如果您看過很多由烏瑪·瑟曼(Uma Thurman)主演的電影,那么您很可能會看到烏瑪(Uma)的標題圖片。 如果您看過很多由約翰·特拉沃爾塔(John Travolta)主演的電影,那么您很可能會看到約翰(John)的標題圖片。 您能看到選擇最佳個性化藝術品如何使您更有可能觀看特定視頻嗎? Netflix 在選擇藝術品時會吸引您的興趣,但 Netflix 也不想騙您。 他們不想顯示 clickbait 圖片只是為了讓您觀看您可能不喜歡的視頻。 這沒有任何動機。 Netflix 不按觀看的視頻付費。 Netflix 嘗試將*的遺憾降到最低。 Netflix 希望您對觀看的視頻感到滿意,因此他們會選擇最適合您的標頭圖像。* 這只是 Netflix 如何使用數據分析的一個小例子。 Netflix 到處都采用這種策略。 **建議。** Netflix 通常只會向您顯示 40 到 50 個視頻選項,但是它們有成千上萬個視頻可用。 Netflix 如何決定? 使用機器學習。 這就是我們剛才討論的*大數據處理和分析*的一部分。 Netflix 會查看其數據并預測您的需求。 實際上,您在 Netflix 屏幕上看到的所有內容都是使用機器學習專門為您選擇的。 ## **從源媒體到您所觀看內容的轉碼** 在這里,我們開始過渡到 Netflix 處理視頻的方式。 Netflix 必須先將視頻轉換為最適合您的設備的格式,然后才能在您喜歡的所選設備上觀看視頻。 此過程稱為*轉碼*或*編碼*。 轉碼是將視頻文件從一種格式轉換為另一種格式,以使視頻可以在不同平臺和設備上觀看的過程。 Netflix 一次將多達 300,000 個 CPU 的所有視頻編碼在 AWS 中。 比大多數超級計算機都大! **源媒體的來源。** 誰向 Netflix 發送視頻? 制作室和工作室。 Netflix 將此視頻稱為*源媒體*。 新視頻將提供給*內容運營團隊*進行處理。 該視頻采用高清格式,大小為 TB 級。 TB 很大。 想象 60 疊像埃菲爾鐵塔一樣高的紙。 太太了。 在您觀看視頻之前,Netflix 會通過嚴格的多步驟過程對其進行處理。 ![](https://img.kancloud.cn/e1/19/e119155915ee120868f4b57978f9c3e4_499x256.png) **驗證視頻。** Netflix 要做的第一件事是花費大量時間來驗證視頻。 它查找可能由先前的代碼轉換嘗試或數據傳輸問題引起的數字偽像,顏色變化或丟失的幀。 如果發現任何問題,視頻將被拒絕。 **進入媒體管道。** 驗證視頻后,將其輸入到 Netflix 所謂的*媒體管道*中。 *管道*只是一系列步驟,需要經過一系列步驟才能使數據準備就緒,就像工廠的流水線一樣。 70 多種不同的軟件可幫助您制作每個視頻。 處理單個多 TB 大小的文件是不切實際的,因此,管道的第一步是將視頻分成許多較小的塊。 然后將視頻塊通過管道放置,以便可以并行對其進行編碼。 并行僅表示在同一時間處理塊。 讓我們用一個例子來說明并行性。 ![](https://img.kancloud.cn/c5/49/c5493a2a9be375ca1d2efa156e429516_320x286.png) 假設您有一百只需要洗的臟狗。 一個人一個接一個地洗狗,哪個會更快? 還是租用一百個洗狗器同時洗一次會更快? 顯然,同時使用一百只狗狗洗衣機更快。 那是并行性。 這就是 Netflix 在 EC2 中使用如此多服務器的原因。 他們需要大量服務器來并行處理這些巨大的視頻文件。 它也可以。 Netflix 表示,可以在短短 30 分鐘之內對源媒體文件進行編碼并將其推送到 CDN。 編碼后,將對它們進行驗證,以確保沒有引入新的問題。 然后將這些塊組裝回一個文件中,并再次進行驗證。 **結果是一堆文件。** 編碼過程會創建很多文件。 為什么? Netflix 的最終目標是支持每臺聯網設備。 Netflix 于 2007 年開始在 Microsoft Windows 上流式傳輸視頻。 隨著時間的推移,增加了更多設備-Roku,LG,三星藍光,Apple Mac,Xbox 360,LG DTV,Sony PS3,Nintendo Wii,Apple iPad,Apple iPhone,Apple TV,Android,Kindle Fire 和 Comcast X1。 Netflix 總共支持 2200 種不同的設備。 每個設備都具有在該特定設備上看起來最佳的視頻格式。 如果您在 iPhone 上觀看 Netflix,則會看到一個視頻,該視頻可為您提供最佳的 iPhone 觀看體驗。 Netflix 將視頻的所有不同格式稱為*編碼配置文件*。 Netflix 還創建針對不同網絡速度優化的文件。 如果您在快速網絡上觀看,則觀看的視頻質量會比在慢速網絡上觀看時的觀看質量更高。 也有用于不同音頻格式的文件。 音頻被編碼為不同質量級別和不同語言。 也包括字幕文件。 視頻可能具有多種不同語言的字幕。 每個視頻都有很多不同的觀看選項。 您看到的內容取決于您的設備,網絡質量,Netflix 計劃以及您的語言選擇。 **我們正在討論多少文件?** 對于 *The Crown,* Netflix 存儲了約 1200 個文件! *陌生人事物*第 2 季有更多文件。 它以 8K 拍攝,有 9 集。 源視頻文件有很多太字節的數據。 僅編碼一個季節就花費了 190,000 個 CPU 小時。 結果? 9,570 種不同的視頻,音頻和文本文件! 讓我們看看 Netflix 如何播放所有視頻。 ## **三種不同的流媒體視頻策略** Netflix 嘗試了自己的小型 CDN 三種不同的視頻流策略; 第三方 CDN; 和打開連接。 首先定義 CDN。 CDN 是*內容分發網絡*。 Netflix 的*內容*當然是我們在上一節中討論的視頻文件。 *分發*表示視頻文件是通過*網絡*從中央位置復制的,并存儲在世界各地的計算機上。 對于 Netflix,存儲視頻的中心位置是 S3。 ## **為什么要建立 CDN?** CDN 背后的想法很簡單:通過在全球范圍內傳播計算機,使視頻盡可能接近用戶。 當用戶想要觀看視頻時,請找到帶有視頻的最近的計算機,然后從那里流式傳輸到設備。 CDN 的最大好處是速度和可靠性。 想象一下,您正在倫敦觀看視頻,并且該視頻是從俄勒岡州波特蘭市流傳輸的。 視頻流必須通過許多網絡,包括海底電纜,因此連接速度慢且不可靠。 通過將視頻內容盡可能靠近觀看者移動,觀看體驗將盡可能快且可靠。 具有存儲視頻內容的計算機的每個位置稱為 PoP 或*存在點*。 每個 PoP 都是提供訪問 Internet 的物理位置。 它容納服務器,路由器和其他電信設備。 稍后我們將詳細討論 PoP。 ## **第一個 CDN 太小** 2007 年,當 Netflix 首次推出其新的流媒體服務時,它在 50 個國家/地區擁有 3600 萬會員,每月觀看超過十億小時的視頻,每秒流式傳輸數 TB 的內容。 為了支持流媒體服務,Netflix 在美國的五個不同位置構建了自己的簡單 CDN。 當時,Netflix 視頻目錄足夠小,每個位置都包含其所有內容。 ## **第二個 CDN 太大** 在 2009 年,Netflix 決定使用第三方 CDN。 大約在這個時候,第三方 CDN 的價格下降了。 對于 Netflix,使用第三方 CDN 非常合理。 當您可以使用現有的 CDN 服務立即到達全球時,為什么還要花費所有時間和精力來構建自己的 CDN? Netflix 與 Akamai,Limelight 和 Level 3 等公司簽訂了合同,提供 CDN 服務。 使用第三方 CDN 沒錯。 實際上,幾乎每個公司都這樣做。 例如,NFL 使用 Akamai 直播足球比賽。 通過不構建自己的 CDN,Netflix 有更多時間來從事其他更高優先級的項目。 Netflix 在開發更智能的客戶端上投入了大量時間和精力。 Netflix 創建了適應不斷變化的網絡條件的算法。 即使面對錯誤,網絡過載和服務器過載,Netflix 仍希望成員始終查看最佳圖像。 Netflix 開發的一種技術是切換到另一個視頻源(例如另一個 CDN 或另一個服務器),以獲得更好的效果。 同時,Netflix 還為我們之前提到的所有 AWS 服務投入了大量精力。 Netflix 將 AWS 中的服務稱為*控制平面*。 控制平面是一個電信術語,用于標識控制其他所有部分的系統部分。 在你的身體里,你的大腦是控制平面。 它控制著其他一切。 然后,Netflix 認為通過開發自己的 CDN 可以做得更好。 ## **開放式連接正好** 在 2011 年,Netflix 意識到需要大規模的 CDN 解決方案以最大化網絡效率。 視頻分發是 Netflix 的核心競爭力,并且可能是巨大的競爭優勢。 因此,Netflix 開始開發自己的專用 CDN Open Connect。 Open Connect 于 2012 年推出。 Open Connect 對于 Netflix 具有很多優勢: * 不會那么貴。 第三方 CDN 昂貴。 自己做可以節省很多錢。 * 更好的質量。 通過控制整個視頻路徑(代碼轉換,CDN,設備上的客戶端),Netflix 認為它可以提供出色的視頻觀看體驗。 * 更可擴展。 Netflix 的目標是在世界各地提供服務。 快速提供支持,同時提供高質量的視頻觀看體驗,這需要構建自己的系統。 第三方 CDN 必須支持用戶從世界任何地方訪問任何種類的內容。 Netflix 的工作要簡單得多。 Netflix 確切知道其用戶是誰,因為他們必須訂閱 Netflix。 Netflix 確切知道需要提供哪些視頻。 知道它只需要提供大量視頻流,就可以讓 Netflix 做出許多其他 CDN 無法做出的明智優化選擇。 Netflix 也對會員了解很多。 該公司知道他們喜歡觀看哪些視頻以及何時觀看。 有了這種知識,Netflix 就構建了一個非常出色的 CDN。 讓我們詳細了解 Open Connect 的工作原理。 ## **開放式連接設備** 還記得我們怎么說 CDN 的計算機遍布全球嗎? Netflix 開發了自己的視頻存儲計算機系統。 Netflix 稱它們為 Open Connect 設備或 OCA。 這是在站點中早期安裝 OCA 的樣子: ![](https://img.kancloud.cn/56/01/5601d08f9719e68ba659cb953eec4c3e_470x639.png) 上圖中有許多 OCA。 OCA 分為多個服務器的群集。 每個 OCA 都是一臺快速服務器,經過高度優化,可傳送大文件,并帶有大量用于存儲視頻的硬盤或閃存驅動器。 以下是一臺 OCA 服務器的外觀: ![](https://img.kancloud.cn/e8/fb/e8fbb0d04ea0a9d5ed9ecd72c148035d_320x219.png) 有幾種不同類型的 OCA 用于不同目的。 有大型 OCA 可以存儲 Netflix 的整個視頻目錄。 有較小的 OCA,它們只能存儲 Netflix 視頻目錄的一部分。 小型的 OCA 每天在非高峰時段都通過 Netflix 調用*主動 cachin* g 的過程填充視頻。 稍后,我們將詳細討論主動緩存的工作原理。 從硬件的角度來看,OCA 沒有什么特別的。 它們基于商用 PC 組件,并由各種供應商在定制情況下組裝。 如果需要,您可以購買相同的計算機。 請注意,所有 Netflix 的計算機都是紅色的嗎? Netflix 的計算機經過專門設計以匹配其徽標顏色。 從軟件角度看,OCA 使用 FreeBSD 操作系統和 NGINX 作為 Web 服務器。 是的,每個 OCA 都有一個 Web 服務器。 使用 NGINX 的視頻流。 如果這些名稱都沒有意義,請放心,我只是為了完整性而將它們包括在內。 站點上的 OCA 數量取決于 Netflix 希望站點的可靠性,從該站點傳遞的 Netflix 流量(帶寬)的數量以及站點允許流式傳輸的流量的百分比。 當您按下播放鍵時,您正在觀看附近特定位置來自特定 OCA 的視頻流。 為了獲得最佳的視頻觀看體驗,Netflix 真正想要做的就是將視頻緩存在您的房屋中。 但這還不可行。 其次,最好是將迷你 Netflix 盡可能靠近您的房屋放置。 他們是如何做到的? ## **Netflix 將 Open Connect Appliances(OCA)放在哪里?** Netflix 從全球 1000 多個位置的數千臺服務器提供大量視頻流量。 看看這張視頻投放位置的地圖: ![](https://img.kancloud.cn/fd/66/fd66732ca01c4548ef5f289c74755bee_500x300.png) YouTube 和 Amazon 等其他視頻服務在其自己的骨干網絡上交付視頻。 這些公司從字面上構建了自己的全球網絡,用于向用戶交付視頻。 這是非常復雜且非常昂貴的。 Netflix 采用了完全不同的方法來構建其 CDN。 Netflix 不運營自己的網絡; 它也不再運行自己的數據中心。 相反,互聯網服務提供商(ISP)同意將 OCA 放入其數據中心。 OCA 是免費提供給 ISP 的,以嵌入其網絡。 Netflix 還將 OCA 放置在互聯網交換位置(IXP)中或附近。 使用這種策略,Netflix 不需要操作自己的數據中心,但是它獲得了僅在其他人的數據中心中的常規數據中心的所有好處。 天才! 最后兩段內容非常密集,因此我們將其分解。 **使用 ISP 來構建 CDN。** ISP 是您的互聯網提供商。 您是從誰那里獲得互聯網服務的。 它可能是 Verizon,Comcast 或數千種其他服務。 這里的要點是 ISP 位于世界各地,并且與客戶關系密切。 通過將 OCA 放置在 ISP 數據中心中,Netflix 也遍布全球,并且與客戶關系密切。 **使用 IXP 構建 CDN。** Internet 交換位置是 ISP 和 CDN 在其網絡之間交換 Internet 流量的數據中心。 就像參加聚會與您的朋友交換圣誕節禮物一樣。 如果每個人都在一個地方,則交換禮物更容易。 如果每個人都在一個地方,則交換網絡流量會更容易。 IXP 位于世界各地: ![](https://img.kancloud.cn/3a/6e/3a6e318ae891d0350fb3de311a746b7f_498x164.png) *TeleGeography 的 Internet 交換圖* 倫敦互聯網交易所的外觀如下: ![](https://img.kancloud.cn/d2/fa/d2fa4443fe382511cac26ed3d16f0983_319x172.png) *倫敦互聯網交換所(LINX)* 深入查看那些黃色的光纜,您將在荷蘭阿姆斯特丹的 AMS-IX Internet 交換點看到類似的內容: ![](https://img.kancloud.cn/09/02/0902275a98437d1617d2bc28b792a065_319x213.png) *Wikimedia Commons* 上圖中的每條導線將一個網絡連接到另一個網絡。 這就是不同的網絡相互交換流量的方式。 IXP 就像高速公路的立交橋,僅使用電線: ![](https://img.kancloud.cn/b7/c6/b7c6cd20cd1cd5ae56842bb2474ac55e_320x240.png) *Wikimedia Commons* 對于 Netflix 而言,這是另一個勝利。 IXP 遍布全球。 因此,通過將其 OCA 放入 IXP 中,Netflix 不必運行自己的數據中心。 ## **每天都會主動將視頻緩存到 OCA** Netflix 的所有視頻都位于 S3 中。 他們擁有所有這些視頻服務計算機,分布在世界各地。 只缺少一件事:視頻! Netflix 使用它稱為*主動緩存*的過程來有效地將視頻復制到 OCA。 **什么是緩存?** 藏匿處是藏有彈藥,食物和寶藏的地方,尤其是地下藏身的地方。 你知道冬天松鼠會埋堅果嗎? ![](https://img.kancloud.cn/19/a5/19a5d3049735b2f2f044b79c70b06922_320x213.png) 他們埋沒螺母的每個位置都是*緩存*。 在冬季,任何松鼠都可以找到堅果藏起來并砍掉。 北極探險者派小隊向前走,沿著他們走的路線儲存食物,燃料和其他物資。 后面的較大團隊將在每個緩存位置停止并重新供應。 松鼠和北極探險家都*活躍*; 他們提前做一些事情,為以后做準備。 每個 OCA 都是您最有可能希望觀看的視頻的視頻緩存。 **Netflix 通過預測您想要觀看的內容來緩存視頻。** Netflix 在世界任何地方都非常準確地知道其會員喜歡觀看什么以及何時觀看。 還記得我們曾說過 Netflix 是一家數據驅動公司嗎? Netflix 使用其受歡迎程度數據來*預測*成員明天可能希望在每個位置觀看的視頻。 在此,*位置*表示容納在 ISP 或 IXP 中的 OCA 集群。 Netflix 將預測的視頻復制到每個位置的一個或多個 OCA。 這稱為*前置*。 視頻甚至可以在任何人問到之前放在 OCA 上。 這為會員提供了很棒的服務。 他們想要觀看的視頻已經接近他們,可以進行流式傳輸了。 Netflix 運行所謂的*分層緩存系統。* ![](https://img.kancloud.cn/cb/a7/cba7643626484e953302f90ec72788aa_500x238.png) 我們之前討論的較小的 OCA 位于 ISP 和 IXP 中。 這些文件太小,無法包含整個 Netflix 視頻目錄。 其他位置的 OCA 包含 Netflix 大部分視頻目錄。 盡管如此,其他位置仍具有包含整個 Netflix 目錄的大型 OCA。 這些都是從 S3 獲得他們的視頻。 每天晚上,每個 OCA 都會醒來,并向 AWS 的服務詢問應包含哪些視頻。 AWS 的服務根據我們之前提到的預測向 OCA 發送了應該包含的視頻列表。 每個 OCA 都負責確保列表中包含所有視頻。 如果位于同一位置的 OCA 擁有應有的視頻之一,則它將復制本地 OCA 的視頻。 否則,將找到并復制帶有視頻的附近 OCA。 由于 Netflix 預測明天會流行什么,因此通常需要一天的時間才能將視頻放到 OCA 上。 這意味著可以在安靜的非高峰時段復制視頻,從而大大減少了 ISP 的帶寬使用。 Open Connect 中永遠不會出現*緩存未命中*的情況。 高速緩存未命中將要求 OCA 提供特定的視頻,而 OCA 則說它沒有該視頻。 高速緩存未命中總是在其他 CDN 上發生,因為您無力將內容復制到任何地方。 由于 Netflix 知道必須緩存的所有視頻,因此它始終知道每個視頻的確切位置。 如果較小的 OCA 沒有視頻,則始終可以保證其中一個較大的 OCA 具有視頻。 Netflix 為什么不將他們的所有視頻復制到世界上每個 OCA? 其視頻目錄太大,無法在所有位置存儲所有內容。 2013 年,Netflix 的視頻目錄超過 3 PB。 我不知道今天有多大,但我只能假設它很大。 這就是為什么 Netflix 開發了一種方法,該方法使用*預測*他們的會員想要觀看的數據,選擇在每個 OCA 上存儲哪些視頻。 讓我們舉個例子。 *紙牌屋*是一個非常受歡迎的節目。 應該將其復制到哪些 OCA? 可能是每個地點,因為全世界的成員都想觀看紙牌屋。 如果視頻不像《紙牌屋》那么受歡迎怎么辦? Netflix 決定應將其復制到哪個位置,以最好地滿足附近的會員請求。 在一個地點中,像《紙牌屋》這樣的熱門視頻被復制到許多不同的 OCA 中。 視頻越受歡迎,它將被復制到更多的服務器。 為什么? 如果只有一個非常受歡迎的視頻的副本,則將視頻流傳輸給成員將使服務器不堪重負。 正如他們所說,許多指針可以使燈工作。 將視頻僅復制到一個 OCA 時,該視頻不會被視為實時視頻。 Netflix 希望能夠在世界各地同時播放相同的內容。 僅當有足夠數量的 OCA,且具有足夠的視頻副本以適當地提供它時,該視頻才被視為直播且可供成員觀看。 例如,2016 年 *Daredevil* 第 2 季是 Netflix 首次同時在所有國家/地區的所有設備上放映該節目的所有劇集。 ## **托管 OCA:ISP 中有哪些內容?** ISP 為什么會同意將 OCA 群集放入其網絡中? 乍一看,它看起來過于寬大,但是您會很高興知道它根植于自身利益。 要了解原因,我們需要討論網絡的工作方式。 我知道在整本書中我們都說過可以通過互聯網訪問云服務。 Netflix 并非如此,至少在觀看視頻時如此。 使用 Netflix App 時,它通過互聯網與 AWS 對話。 互聯網是網絡的互連。 您有提供 Internet 服務的 ISP。 我從康卡斯特獲得了互聯網服務。 那意味著我的房子使用光纜連接到康卡斯特的網絡。 Comcast 的網絡就是他們的網絡; 不是互聯網,而是互聯網。 假設我要進行 Google 搜索,然后在瀏覽器中輸入查詢,然后按 Enter。 我對 Google 的請求首先通過 Comcast 的網絡傳輸。 Google 不在 Comcast 的網絡上。 在某些時候,我的請求必須轉到 Google 的網絡。 這就是互聯網的目的。 互聯網將 Comcast 的網絡連接到 Google 的網絡。 這些被稱為*路由協議*的事物的行為類似于流量警察,指示網絡流量的去向。 當我的 Google 查詢路由到互聯網時,它不再位于 Comcast 的網絡上,也不再位于 Google 的網絡上。 它位于*互聯網主干網*上。 互聯網由許多選擇互操作的私有網絡組成。 我們前面介紹的 IXP 是網絡相互連接的一種方式。 在美國,這是遠程光纖網絡的地圖: ![](https://img.kancloud.cn/ab/d2/abd2d2736d779c5121c43b830f9ed5ed_500x281.png) *InterTubes:對美國遠程光纖基礎設施的研究* Netflix 對 Open Connect 所做的工作是將其 OCA 群集放置在 ISP 網絡內。 這意味著,如果我觀看 Netflix 視頻,我將與 Comcast 網絡中的 OCA 交談。 我所有的視頻流量都在 Comcast 的網絡上; 它永遠不會上網。 擴展視頻傳輸的關鍵是盡可能接近用戶。 執行此操作時,您不會使用 Internet 主干。 在網絡的本地部分上滿足請求。 為什么這是一件好事? 回想一下,我們說 Netflix 已經消耗了美國 37%以上的互聯網流量。 如果 ISP 不合作,Netflix 將使用更多的互聯網。 互聯網無法處理所有視頻流量。 ISP 必須增加更多的網絡容量,而這是昂貴的。 目前,ISP 網絡中最多可提供 Netflix 內容的 100%。 通過減輕 ISP 的互聯網擁塞,可以降低成本。 同時,Netflix 會員體驗到高質量的觀看體驗。 網絡性能為每個人提高。 這是雙贏。 ## **開放連接可靠且具有彈性** 之前我們討論了 Netflix 如何通過耗盡三個不同的 AWS 區域來提高其系統的可靠性。 Open Connect 的體系結構實現了相同的目標。 可能不是立即顯而易見的是,OCA 彼此獨立。 OCA 充當自給自足的視頻服務群島。 當其他 OCA 發生故障時,從一個 OCA 流式傳輸的成員不會受到影響。 OCA 失敗時會發生什么? 您使用的 Netflix 客戶端會立即切換到另一個 OCA,并恢復流式傳輸。 如果一個地點有太多人使用 OCA,該怎么辦? Netflix 客戶端將發現要使用的負載更輕的 OCA。 如果成員用來流視頻的網絡過載了怎么辦? 同樣的事情。 Netflix 客戶端將在性能更好的網絡上找到另一個 OCA。 Open Connect 是一個非常可靠且具有彈性的系統。 ## **Netflix 控制客戶端** Netflix 可以優雅地處理故障,因為它可以控制運行 Netflix 的每臺設備上的客戶端。 Netflix 自己開發 Android 和 iOS 應用程序,因此您可能希望它們來控制它們。 但是,即使在像 Netflix 這樣沒有構建客戶端的智能電視這樣的平臺上,Netflix 仍然可以控制它,因為它可以控制*軟件開發套件*(SDK)。 SDK 是*,一組允許開發應用程序的軟件開發工具。* 每個 Netflix 應用都向 AWS 發出請求,并使用 SDK 播放視頻。 通過控制 SDK,Netflix 可以一致且透明地適應慢速網絡,失敗的 OCA 以及可能出現的任何其他問題。 ## **最后:這是您按 Play 時會發生的情況** 到達這里很漫長。 我們學到了很多。 到目前為止,這是我們學到的知識: * Netflix 可以分為三個部分:后端,客戶端和 CDN。 * 來自 Netflix 客戶端的所有請求均在 AWS 中處理。 * 所有視頻均來自 Open Connect CDN 中附近的 Open Connect 設備(OCA)。 * Netflix 在三個 AWS 區域之外運營,通常可以處理任何區域的故障,甚至無需成員注意。 * Netflix 將新的視頻內容轉換為多種格式,因此可以根據設備類型,網絡質量,地理位置和會員的訂閱計劃選擇最佳格式進行觀看。 * Netflix 每天都會通過 Open Connect,根據他們預測每個位置的會員想要觀看的內容在世界各地分發視頻。 這是 Netflix 如何描述播放過程的圖片: [ ![](https://img.kancloud.cn/21/6b/216b1421d30f9d9ac36114c959a860d3_499x285.png) 現在,讓我們完成圖片: * 您選擇要在某些設備上運行的客戶端觀看的視頻。 客戶端向在 AWS 中運行的 Netflix 的*回放應用*服務發送*播放*請求,指示您要播放哪個視頻。 * 我們之前沒有討論過,但是在您上演之后發生的大部分事情都與許可有關。 并非世界上每個地方都有觀看每個視頻的許可證。 Netflix 必須確定您是否具有觀看特定視頻的有效許可證。 我們不會談論它是如何工作的-這確實很無聊-但請記住,它一直在發生。 Netflix 開始開發自己的內容的原因之一是避免許可問題。 Netflix 希望同時向全球所有人放映節目。 創建自己的內容是 Netflix 避免擔心許可問題的最簡單方法。 * 考慮到所有相關信息,Playback Apps 服務將返回最多十個不同 OCA 服務器的 URL。 這些是您一直在 Web 瀏覽器中使用的相同 URL。 Netflix 使用您的 IP 地址和來自 ISP 的信息來確定最適合您使用的 OCA 群集。 * 客戶端可以智能地選擇要使用的 OCA。 它通過測試與每個 OCA 的網絡連接的質量來做到這一點。 它將首先連接到最快,最可靠的 OCA。 客戶端會在整個視頻流傳輸過程中繼續運行這些測試。 * 客戶端進行調查以找出從 OCA 接收內容的最佳方法。 * 客戶端連接到 OCA,然后開始將視頻流式傳輸到您的設備。 * 您是否在觀看視頻時注意到圖像質量有所不同? 有時看起來像是像素化,過了一會兒圖像又恢復為高清畫質了嗎? 那是因為客戶正在適應網絡質量。 如果網絡質量下降,客戶端將降低視頻質量以使其匹配。 當質量下降太多時,客戶端將切換到另一個 OCA。 當您在 Netflix 上按播放時,就會發生這種情況。 誰會想到這么簡單的事情,就像觀看視頻那么復雜? ## 相關文章 * [在 HackerNews](https://news.ycombinator.com/item?id=15901967) 和[在 HackerNews](https://news.ycombinator.com/item?id=15986753) * [在 Reddit 上](https://www.reddit.com/r/tech/comments/7j6j99/netflix_what_happens_when_you_press_play/)和[在 Reddit 上](https://www.reddit.com/r/programming/comments/7m1aug/netflix_what_happens_when_you_press_play_high/) 很好的文章! 但是封面選擇信息已經過時:https://medium.com/netflix-techblog/artwork-personalization-c589f074ad76 在完成本章后,Netflix 如何粗魯地改變事情:-) 看起來是一個很大的變化。 他們不是為所有人選擇一張圖像,而是對其進行個性化設置。 整 rick 優秀文章,謝謝 感謝您的博客文章,我從開始乞討到結束 我更新了帖子以反映新的標題圖像選擇信息。 對我而言,最有趣的是選擇點擊誘餌圖像和在給定用戶偏好和視頻性質的情況下具有實際意義的圖像之間的區別。 假設選擇正確,該圖像將成為快速的個性化濾鏡。 這是一個非常有趣的閱讀。 他們在客戶端使用什么技術? 有什么特別的框架嗎? 有什么特別的方法可以使他們顯示 x 個視頻而不會導致客戶端變慢? 很棒的帖子。 感謝您抽出寶貴的時間來撰寫本文。 大概念以非常易于理解的格式傳達。 優秀的職位。 用非常容易理解的單詞和有趣的內容進行解釋。 一個真正的問題-如果 Netflix 占峰值互聯網流量的 37%,而 YouTube 的流量是 Netflix 的 7 倍,這是否意味著 YouTube 占峰值互聯網流量的 259%? 不知何故,我看不出數字是如何累加的-真正的問題。 與 YouTube,Facebook 和所有其他大型提供商相比,我之前聽說過這個數字為 37%,這個數字似乎始終是> 100%-這意味著有問題。 它是什么? 很棒的帖子。 謝謝。 不錯的文章。 Netfiix 內容交付背后的更詳細版本。 感謝您的博客,我真的很喜歡閱讀它。 很棒的文章! 愛它! 謝謝 就 Netflix 背景發生的事情而言,這只是我還是我還是這篇文章很棒? 感謝您也分享了服務的發展,我總是給人一種印象,即 AWS 通常比單獨托管更昂貴,但我從未真正考慮過正常托管的高峰時間... 您沒有其他選擇。 發送到 Netflix 的源文件通常為千兆字節而不是 TB。 很棒的文章!!! 用外行的語言和有趣的方式很好地解釋了(考慮到與網絡相關的信息通常很無聊)。 甚至連祖父母也可能會理解這篇文章。 感謝您的努力。 一篇寫得很好的文章,以這種輕松和交錯的流程表達了一個復雜的框架。 我把它展示給了我的 CS 新手。 她一直想知道更多有關“云”的知識,這有助于她以相關的方式理解許多基本概念。 很酷的文章,但我認為 OCA 必須執行某些類似 AAA 的服務,或者 AWS 服務器必須與 OCA 建立會話以供客戶端使用。 即使已加密視頻,OCA 也無法立即使用該 URL 為任何人提供服務。 “ Netflix 從始至終控制著您的視頻觀看體驗” 其實并不是。 Netflix 不能通過 ISP 網絡控制“最后一英里”上交付內容的質量。 同時,這篇文章很棒! 非常感謝。 好的帖子,盡管花了太長時間才到達最后的項目符號列表,這畢竟是帖子的本意。 同樣,解釋性的隱喻充其量也很緊張(洗狗器,松鼠堅果貯藏室,埃菲爾鐵塔高度的 50 疊紙)。 > Netflix 必須確定您是否具有觀看特定視頻的有效許可證。 我們不會談論它是如何工作的,這真的很無聊 相反,這聽起來很有趣! 他們使用什么數據源? 什么是許可區域? 他們如何處理所有格式重疊的許可證以及來自不同供應商和產品的不兼容許可證的所有奇怪的小巧情況? 會,我完全同意你的看法。 在這種情況下,DM 很有趣,但這是我的書中的一章,而這本書是針對云新手的。 對于他們來說,需要更多的解釋性材料,我認為 DM 將使您分心。 對于問以下問題的人:“真正的問題-Netflix 是否占峰值互聯網流量的 37%,而 YouTube 則是 Netflix 最高流量的 7 倍-是否意味著 YouTube 占峰值互聯網流量的 259%” 我的猜測是 avergae youtube 視頻的質量不如 netflix。 大量 youtube 播放 480,而大量 netflix 播放 4k 啟發性很好的解釋文章-謝謝 感謝您的有趣閱讀。 廣泛的體系結構視角和詳細說明之間的完美平衡!
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看