- 資訊首頁(yè) > 互聯(lián)網(wǎng) >
- CDN究竟是個(gè)啥玩意?
cdn/' target='_blank'>CDN,內容分發(fā)網(wǎng)絡(luò ),是大多數互聯(lián)網(wǎng)業(yè)務(wù)里必不可少的部分,但大多數互聯(lián)網(wǎng)從業(yè)人員不是特別清楚CDN究竟是什么,以及它可以為我們做哪些事情。
我們還是從之前介紹的《不同的人看到的直播為什么不一樣?》這篇文章切入,講講CDN是什么。
從直播說(shuō)起
還記得這個(gè)圖吧,直播的主播通過(guò)自己的手機把“視頻圖”發(fā)給了觀(guān)眾,觀(guān)眾收到后,在A(yíng)PP里把每個(gè)圖顯示出來(lái),形成了視頻?,F實(shí)的情況是,一個(gè)主播不可能只為一個(gè)觀(guān)眾服務(wù),可能有很多個(gè)觀(guān)眾需要觀(guān)看,如果是3個(gè)觀(guān)眾,那么就會(huì )是這樣了:
圖里的方式是主播把相同的數據同時(shí)傳給3個(gè)不同的觀(guān)眾,這當然是非常愚蠢的方式,同樣的數據被傳了3次,主播端的瓶頸非常明顯,比如有1000個(gè)觀(guān)眾同時(shí)觀(guān)看的時(shí)候,主播端根本無(wú)法承擔這么多的數據傳輸。
第一臺服務(wù)器出現了
所以呢,很容易想到的方法是,主播把數據傳給一個(gè)中間服務(wù)器,由服務(wù)器充當把數據發(fā)給不同用戶(hù)的角色,也就是這樣(圖片1-6我們先用“數據”代替了):
這樣的話(huà),就用了性能強大的服務(wù)器來(lái)代替了主播傳輸數據的工作,給服務(wù)器提出的要求是:
第一,能夠接收來(lái)自主播的傳輸數據;第二,能夠把數據下發(fā)到觀(guān)眾APP.于是,服務(wù)器這時(shí)候便被定義了兩個(gè)身份,第一,推流節點(diǎn)(接收來(lái)自主播端的上行推流);第二,分發(fā)節點(diǎn)(把視頻流分發(fā)給不同的觀(guān)眾)。這就是簡(jiǎn)單的推流和分發(fā)概念。
由于服務(wù)器的強大能力,它不甘心只把數據接收過(guò)來(lái)再分發(fā)下去,而是要干更多的事情。比如說(shuō),給主播的臉上做個(gè)特效、給直播畫(huà)面上加上公司的logo水印、或者是擔心有主播直播違(hao)禁(kan)的畫(huà)面,在服務(wù)器上做個(gè)鑒黃等等吧。這時(shí)候,服務(wù)器的定義有發(fā)生了改變,它被稱(chēng)為了“流媒體處理中心”。
觀(guān)眾數進(jìn)一步增大會(huì )怎樣?
服務(wù)器也是有瓶頸的,例如,通常服務(wù)器的網(wǎng)卡是1G的,一路直播視頻的帶寬需求是1M左右,不考慮別的因素,一臺服務(wù)器的網(wǎng)卡最多可以同時(shí)分發(fā)1000路直播就達到瓶頸了。那么,如果有3000個(gè)觀(guān)眾觀(guān)看的時(shí)候,怎么辦?
當然,我們可以放3個(gè)服務(wù)器嘛,每個(gè)服務(wù)器分發(fā)1000路,總共就3000路了。于是就變成了這樣:
又發(fā)現問(wèn)題了,主播又要向服務(wù)器1、2、3分別發(fā)送3份數據了,按照之前的思路,我們可以這么來(lái)優(yōu)化:在服務(wù)器1、2、3之前,放一個(gè)服務(wù)器-0,它的作用是接收主播推流,再把數據交給服務(wù)器1、2、3.由于服務(wù)器1、2、3給1000名觀(guān)眾分發(fā)的數據都是一樣的,所以呢,他們就把數據在自己服務(wù)器上存儲了一份。
概念:負載均衡、CDN緩存、回源、就近原則
在這樣的架構下,會(huì )延伸出這樣的幾個(gè)概念:
當觀(guān)眾人數不太多的時(shí)候,例如總共只有1000人,那么是選擇讓某一臺服務(wù)器服務(wù)這1000人,還是3臺服務(wù)器分擔1000人,還是2臺?機器也會(huì )有新舊之分,老機器只能抗800數量,那要怎么來(lái)分配呢?等等問(wèn)題。這里就需要有一個(gè)策略來(lái)做資源的分配。這個(gè)策略叫做:負載均衡。
因為觀(guān)眾看到的數據都是一樣的,所以呢,數據會(huì )在服務(wù)器1、2、3上都存儲一份。這個(gè)概念叫做:CDN緩存。
當分配到服務(wù)器1的第一個(gè)觀(guān)眾進(jìn)入時(shí),服務(wù)器1是沒(méi)有存儲數據的,它會(huì )向服務(wù)器-0獲取數據,這個(gè)過(guò)程叫做:回源;相應的,服務(wù)器-0被稱(chēng)為:源站;觀(guān)眾請求的數據如果由CDN緩存提供,叫做緩存命中,所有用戶(hù)請求的緩存命中比例叫做緩存命中率,它是衡量CDN質(zhì)量的關(guān)鍵指標。
一名新進(jìn)入的觀(guān)眾會(huì )被分配到哪一臺服務(wù)器上呢?理論上,這臺服務(wù)器距離用戶(hù)的網(wǎng)絡(luò )鏈路越短、不跨網(wǎng),數據的傳輸的穩定性就越好,這個(gè)叫做:就近原則。
跨地區、多運營(yíng)商覆蓋的CDN
由于就近原則的存在,為了滿(mǎn)足全國甚至全世界不同地方的人,那我們就需要把服務(wù)器分布在不同的地區。又由于不同的網(wǎng)絡(luò )運營(yíng)商之間的網(wǎng)絡(luò )傳輸會(huì )有穩定性問(wèn)題,那么就需要在不同的網(wǎng)絡(luò )運營(yíng)商里也放置服務(wù)器,于是,一個(gè)CDN網(wǎng)絡(luò )就成型了:
隨著(zhù)規模越來(lái)越大,例如現在的PP云,就變成了這樣:
CDN,中文名稱(chēng)是內容分發(fā)網(wǎng)絡(luò ),可以用來(lái)分發(fā)直播、點(diǎn)播、網(wǎng)頁(yè)靜態(tài)文件、小文件等等,幾乎我們日常用到的互聯(lián)網(wǎng)產(chǎn)品都是有CDN在背后提供支持?,F在有很多公司在提供,這是在CDN的基礎上,提供了更豐富的一站式接入的云服務(wù)能力。例如PP云服務(wù)為客戶(hù)提供直播、點(diǎn)播、靜態(tài)文件、短視頻等多種云服務(wù)和CDN加速能力。本文是用比較抽象的方式為大家介紹了CDN是什么,希望可以有所幫助。
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。
Copyright ? 2009-2022 56dr.com. All Rights Reserved. 特網(wǎng)科技 特網(wǎng)云 版權所有 特網(wǎng)科技 粵ICP備16109289號
域名注冊服務(wù)機構:阿里云計算有限公司(萬(wàn)網(wǎng)) 域名服務(wù)機構:煙臺帝思普網(wǎng)絡(luò )科技有限公司(DNSPod) CDN服務(wù):阿里云計算有限公司 百度云 中國互聯(lián)網(wǎng)舉報中心 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證B2
建議您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流瀏覽器瀏覽本網(wǎng)站