CDN是什么?
通俗地說(shuō),CDN就是扮演著護(hù)航者和加速者的角色,更快準(zhǔn)狠的觸發(fā)信息和觸達(dá)每一個(gè)用戶(hù),帶來(lái)更為極致的使用體驗(yàn)。再通俗點(diǎn)說(shuō)CDN就像網(wǎng)絡(luò)中的快遞員小哥,把你的電影、網(wǎng)購(gòu)、訂單的數(shù)據(jù)“包裹”等等,從一個(gè)服務(wù)器快遞到另一個(gè)服務(wù)器。另外,CDN這個(gè)快遞小哥很聰明,他承包了類(lèi)似京東的前置倉(cāng)一樣的快遞點(diǎn),在發(fā)送快遞時(shí),小哥可以從離用戶(hù)最近的前置倉(cāng)取貨、配送(緩存),同時(shí),小哥還擅長(zhǎng)優(yōu)化快遞配送的路徑(調(diào)度),還會(huì)對(duì)包裹進(jìn)行更合理的打包(協(xié)議優(yōu)化)。
了解完CDN是怎么回事后,我們簡(jiǎn)單系統(tǒng)地再來(lái)介紹下CDN。CDN的全稱(chēng)是Content Delivery Network,即內(nèi)容分發(fā)網(wǎng)絡(luò)?;ヂ?lián)網(wǎng)上的任何內(nèi)容都可以通過(guò)CDN加速。例如圖像、樣式表、JavaScript文件、文件下載、直播和點(diǎn)播流媒體視頻、整個(gè)網(wǎng)頁(yè)、博客、游戲和應(yīng)用程序等等。事實(shí)上,大部分互聯(lián)網(wǎng)已經(jīng)通過(guò)CDN傳送,幾乎包括日??吹降乃芯W(wǎng)站。毋庸置疑,任何連接到互聯(lián)網(wǎng)的人都會(huì)與CDN進(jìn)行交互,因?yàn)镃DN不僅用于提供我們?cè)谟?jì)算機(jī)上消費(fèi)的內(nèi)容,還用于移動(dòng)設(shè)備,智能電視,機(jī)頂盒和許多其他互聯(lián)網(wǎng)——需要快速,可靠,安全地在線(xiàn)傳輸數(shù)據(jù)的連接設(shè)備。
CDN的原理和架構(gòu)是什么?
CDN網(wǎng)絡(luò)一般分為中心與邊緣節(jié)點(diǎn)兩部分,中心負(fù)責(zé)全局負(fù)載均衡與內(nèi)容管理。中心節(jié)點(diǎn)的功能如下:
隨時(shí)監(jiān)控邊緣節(jié)點(diǎn)的健康狀況(可用性,擁塞程度);
根據(jù)邊緣節(jié)點(diǎn)到請(qǐng)求端的距離,以及邊緣節(jié)點(diǎn)的健康狀況,按一定的策略重定向請(qǐng)求;
與客戶(hù)主站進(jìn)行數(shù)據(jù)同步更新。
負(fù)責(zé)為用戶(hù)提供內(nèi)容服務(wù)的cache設(shè)備應(yīng)部署在物理上的網(wǎng)絡(luò)邊緣位置,即CDN邊緣層。CDN系統(tǒng)中負(fù)責(zé)全局性管理和控制的設(shè)備組成中心層(二級(jí)緩存),中心層同時(shí)保存著最多的內(nèi)容副本,當(dāng)邊緣層節(jié)點(diǎn)未命中時(shí),會(huì)向中心層請(qǐng)求,如果在中心層仍未命中,則需要中心層向源站回源進(jìn)行請(qǐng)求。
為什么要使用CDN?
1、加速網(wǎng)站訪(fǎng)問(wèn)
網(wǎng)站/App要生存下來(lái),除了內(nèi)容有吸引力、訪(fǎng)問(wèn)速度快、支持頻繁的用戶(hù)互動(dòng)、瀏覽順暢無(wú)障礙外,還必須能在復(fù)雜的網(wǎng)絡(luò)環(huán)境下運(yùn)行,能夠考慮到全球的用戶(hù)訪(fǎng)問(wèn)體驗(yàn)。同時(shí),網(wǎng)站會(huì)隨著使用越來(lái)越多的對(duì)象(如圖片、幀、CSS及JS)和形形色色的動(dòng)作(分享、跟蹤)而系統(tǒng)逐漸龐大,以致于系統(tǒng)變慢從而部分用戶(hù)流失。
Google及其它網(wǎng)站的研究表明,一個(gè)網(wǎng)站每慢一秒鐘,就會(huì)丟失許多訪(fǎng)客,甚至這些訪(fǎng)客永遠(yuǎn)不會(huì)再次光顧這些網(wǎng)站??梢韵胂?,網(wǎng)站速度慢,用戶(hù)體驗(yàn)差是多么致命的打擊。這就是使用CDN的第一個(gè)也是最重要的原因:加速網(wǎng)站的訪(fǎng)問(wèn),提升用戶(hù)體驗(yàn)。
2、跨運(yùn)營(yíng)商,全網(wǎng)覆蓋
為了實(shí)現(xiàn)跨運(yùn)營(yíng)商、跨地域的全網(wǎng)覆蓋互聯(lián)不互通、區(qū)域ISP地域局限、出口帶寬受限制等種種因素都造成了網(wǎng)站的區(qū)域性無(wú)法訪(fǎng)問(wèn)。CDN加速可以覆蓋全球的線(xiàn)路,通過(guò)和運(yùn)營(yíng)商合作,部署IDC資源,在全國(guó)骨干節(jié)點(diǎn)商,合理部署CDN邊緣分發(fā)存儲(chǔ)節(jié)點(diǎn),充分利用帶寬資源,平衡源站流量。從而順利實(shí)現(xiàn)跨運(yùn)營(yíng)商、跨地域的全網(wǎng)數(shù)據(jù)傳輸。
3、保障網(wǎng)站安全
以前,安全性并未與CDN相關(guān)聯(lián)。但最近幾年,安全性已經(jīng)成為CDN行業(yè)中的一個(gè)機(jī)會(huì)領(lǐng)域和更多關(guān)注點(diǎn),特別是隨著物聯(lián)網(wǎng)的大規(guī)模增長(zhǎng)。CDN提供冗余,有助于保護(hù)源服務(wù)器和內(nèi)容。通過(guò)CDN的負(fù)載均衡和分布式存儲(chǔ)技術(shù),可以加強(qiáng)網(wǎng)站的可靠性,相當(dāng)于無(wú)形中給網(wǎng)站添加了一把保護(hù)傘,可以緩解或防止常見(jiàn)的網(wǎng)絡(luò)攻擊,例如分布式拒絕服務(wù)(DDoS)攻擊。像又拍云CDN還提供更多的CC防護(hù)、Referer防盜鏈、WAF保護(hù)等設(shè)置為網(wǎng)站保駕護(hù)航。