CDN 的優(yōu)勢(shì) – 可靠性和冗余
CDN 的一大特征是它能夠在遭遇常見網(wǎng)絡(luò)問題(包括硬件故障和網(wǎng)絡(luò)擁塞)時(shí)保持網(wǎng)站內(nèi)容在線。通過對(duì) Internet 流量進(jìn)行負(fù)載均衡,使用智能故障轉(zhuǎn)移以及跨許多數(shù)據(jù)中心維護(hù)服務(wù)器,CDN 的設(shè)計(jì)可以避免網(wǎng)絡(luò)擁塞并且抵御服務(wù)中斷。
什么是負(fù)載均衡?CDN 如何對(duì)流量進(jìn)行負(fù)載均衡?
負(fù)載均衡器的作用是在許多服務(wù)器之間均勻分配網(wǎng)絡(luò)流量。負(fù)載均衡可以基于硬件,也可以基于軟件。CDN 在數(shù)據(jù)中心中使用負(fù)載均衡將傳入請(qǐng)求分散到可用的服務(wù)器池中,以確保以最有效的方式應(yīng)對(duì)流量高峰。通過高效使用可用資源,負(fù)載均衡能夠提高處理速度并有效利用服務(wù)器容量。妥善均衡傳入流量的負(fù)載是緩解非典型 Internet 活動(dòng)期間(例如,網(wǎng)站遇到異常多的訪問者時(shí),或者發(fā)生分布式拒絕服務(wù)攻擊時(shí))流量高峰的關(guān)鍵組成部分。
CDN 還利用負(fù)載均衡,在服務(wù)器資源的供應(yīng)上下波動(dòng)時(shí)快速有效地做出更改。如果服務(wù)器出現(xiàn)故障并發(fā)生故障轉(zhuǎn)移,則負(fù)載均衡器將重定向分配給故障服務(wù)器的流量,并將其按比例分散到其余的服務(wù)器。這可以增加硬件故障不中斷流量的可能性,從而提供彈性和可靠性。數(shù)據(jù)中心中有新的服務(wù)器聯(lián)機(jī)時(shí),負(fù)載均衡器將按比例卸除其他服務(wù)器的負(fù)載,并提高新硬件的利用率。借助基于軟件的負(fù)載均衡服務(wù),CDN 可以快速擴(kuò)展負(fù)載平衡容量,而不會(huì)遇到使用物理負(fù)載平衡硬件時(shí)的瓶頸。
什么是故障轉(zhuǎn)移?服務(wù)器之間如何進(jìn)行 CDN 故障轉(zhuǎn)移?
在要求高度可靠性和近乎持續(xù)可用性的計(jì)算機(jī)系統(tǒng)中,故障轉(zhuǎn)移可用于防止在服務(wù)器不可用時(shí)丟失流量。當(dāng)服務(wù)器發(fā)生故障時(shí),流量需要重新路由到仍在正常運(yùn)行的服務(wù)器。通過自動(dòng)將任務(wù)卸載到備用系統(tǒng)或其他具有可用容量的機(jī)器上,智能故障轉(zhuǎn)移可以防止面向用戶的服務(wù)出現(xiàn)中斷。
CDN 如何可靠地通過 Internet 提供內(nèi)容?
CDN 就像是 GPS系統(tǒng)與收費(fèi)公路相結(jié)合;CDN 能夠找到到達(dá)遠(yuǎn)距位置的最佳道路,并且能夠使用自身的網(wǎng)絡(luò)來(lái)找到最快到達(dá)那里的最佳路線。
當(dāng)用戶從 Internet 資產(chǎn)(如網(wǎng)頁(yè)或 Web 應(yīng)用程序)加載內(nèi)容時(shí),需要進(jìn)行一系列連接來(lái)到達(dá)提供該內(nèi)容的位置。網(wǎng)絡(luò)流量可以比作一種普通公路與高速公路系統(tǒng)。小范圍的慢速道路在同一區(qū)域內(nèi)運(yùn)轉(zhuǎn)本地交通,州際高速公路則將交通運(yùn)轉(zhuǎn)到不同的州。在發(fā)生問題時(shí),例如油罐車在通往另一個(gè)州的主要路徑上堵塞了州際高速公路的所有車道,交通必須找到一條繞行路徑。就像穿越不同州的高速公路一樣,流量通常必須穿越不同的網(wǎng)絡(luò)才能到達(dá)最終目的地。如果某一網(wǎng)絡(luò)中存在阻塞,則流量必須重定向到其他路徑。此過程可能既耗時(shí)又效率低下。
假設(shè)一個(gè)舊金山的用戶正在加載洛杉磯的網(wǎng)站。連接過程需要許多步驟,但在本例中,最重要的一步是網(wǎng)絡(luò)信號(hào)在通往最終目的地的途中經(jīng)過圣何塞的電信提供商。一位網(wǎng)絡(luò)工程師不慎將咖啡倒在圣何塞的路由設(shè)備上,造成此提供商離線,以致連接中斷(更奇怪的事也發(fā)生過)。這時(shí),除非重新路由網(wǎng)絡(luò)流量以適應(yīng)新的網(wǎng)絡(luò)環(huán)境,否則用戶將無(wú)法再加載其 Internet 內(nèi)容?,F(xiàn)在,用戶請(qǐng)求如果要到達(dá)洛杉磯,就需要通過其他電信提供商。
現(xiàn)在,流量不再能夠通過預(yù)期的網(wǎng)絡(luò),必須改為進(jìn)入由其他組織維護(hù)的全然不同的網(wǎng)絡(luò)。重新協(xié)商和切換網(wǎng)絡(luò)的過程可能會(huì)在網(wǎng)絡(luò)請(qǐng)求中多次發(fā)生,而且這樣的實(shí)例可能會(huì)增加延遲,并將流量推向擁塞的路徑,從而導(dǎo)致延遲。規(guī)模足夠大的 CDN 通常將服務(wù)器布置在 Internet 交換點(diǎn)(IXP)和其他重要位置,從而能掌控自己的網(wǎng)絡(luò)連接。這些優(yōu)化的網(wǎng)絡(luò)架構(gòu)使 CDN 提供商能夠優(yōu)化路由并減少延遲。
CDN 如何使用 Anycast 網(wǎng)絡(luò)來(lái)提高可靠性?
一些 CDN 使用 Anycast 路由方法,將 Internet 流量傳輸?shù)教囟ǖ目捎脭?shù)據(jù)中心。這是為了確保縮短響應(yīng)時(shí)間,并防止任何一個(gè)數(shù)據(jù)中心在發(fā)生 DDoS 攻擊等異常需求時(shí)變得不堪重負(fù)。
借助 Anycast 技術(shù),多臺(tái)機(jī)器可以共享同一個(gè) IP 地址。當(dāng)請(qǐng)求發(fā)送到 Anycast IP 地址時(shí),路由器會(huì)將其定向到最近網(wǎng)絡(luò)上的機(jī)器。如果整個(gè)數(shù)據(jù)中心發(fā)生故障或因其他原因而無(wú)力應(yīng)對(duì)大量通信,Anycast 網(wǎng)絡(luò)可以對(duì)服務(wù)中斷做出響應(yīng),這類似于負(fù)載均衡器在一個(gè)數(shù)據(jù)中心中跨多臺(tái)服務(wù)器傳輸通信;數(shù)據(jù)從故障位置轉(zhuǎn)移走,路由到仍然在線并可正常運(yùn)作的另一個(gè)數(shù)據(jù)中心。
如今,DDoS 攻擊是對(duì) Internet 資產(chǎn)可靠性的最大威脅之一。使用 Anycast 技術(shù)的 CDN 在緩解 DDoS 攻擊方面具有更大的靈活性。在大多數(shù)現(xiàn)代 DDoS 攻擊中,許多受損計(jì)算機(jī)或“機(jī)器人”用于組成所謂的僵尸網(wǎng)絡(luò)。這些受損計(jì)算機(jī)會(huì)產(chǎn)生大量 Internet 流量,以致典型的單播連接計(jì)算機(jī)無(wú)力承受。有了 Anycast 網(wǎng)絡(luò),僵尸網(wǎng)絡(luò)攻擊流量的一部分可以分散到多個(gè)數(shù)據(jù)中心,從而減少攻擊的影響。