CDN?的重要特征之一是它能夠在面對常見(jiàn)的網(wǎng)絡(luò )問(wèn)題(包括硬件故障和網(wǎng)絡(luò )擁塞)時(shí)保持網(wǎng)站內容在線(xiàn)。通過(guò)負載平衡?Internet?流量、使用智能故障轉移以及跨多個(gè)數據中心維護服務(wù)器,CDN 旨在規避網(wǎng)絡(luò )擁塞并抵御服務(wù)中斷。
什么是負載均衡?CDN如何負載均衡流量?
負載均衡器的目的是在多個(gè)服務(wù)器之間平均分配網(wǎng)絡(luò )流量。負載平衡可以基于硬件或軟件。CDN 使用數據中心中的負載平衡在可用服務(wù)器池中分配傳入請求,以確保以最有效的方式處理流量峰值。通過(guò)有效利用可用資源,負載平衡能夠提高處理速度并有效利用服務(wù)器容量。對傳入流量進(jìn)行適當的負載平衡是緩解非典型 Internet 活動(dòng)期間(例如,當網(wǎng)站遇到異常大量的訪(fǎng)問(wèn)者或在分布式拒絕服務(wù)攻擊期間)發(fā)生的流量峰值的關(guān)鍵組成部分。
當服務(wù)器資源的可用性上下波動(dòng)時(shí),CDN 還使用負載平衡來(lái)快速有效地進(jìn)行更改。如果服務(wù)器發(fā)生故障并發(fā)生故障轉移,負載平衡器將重定向為故障服務(wù)器分配的流量,并按比例將其分配給其余服務(wù)器。這通過(guò)增加硬件故障不會(huì )中斷流量的可能性來(lái)提供彈性和可靠性。當數據中心有新服務(wù)器上線(xiàn)時(shí),負載均衡器會(huì )按比例分擔其他服務(wù)器的負載,提高新硬件的利用率?;谲浖呢撦d平衡服務(wù)允許 CDN 快速擴展負載平衡容量,而不會(huì )出現使用物理負載平衡硬件時(shí)出現的瓶頸。
什么是故障轉移?服務(wù)器之間如何進(jìn)行 CDN 故障轉移?
在需要高度可靠性和接近連續可用性的計算機系統中,故障轉移用于防止在服務(wù)器不可用時(shí)丟失流量。當服務(wù)器出現故障時(shí),需要將流量重新路由到仍在運行的服務(wù)器。通過(guò)自動(dòng)將任務(wù)卸載到備用系統或具有可用容量的另一臺機器,智能故障轉移可以防止對用戶(hù)的服務(wù)中斷。
CDN 如何通過(guò) Internet 可靠地提供內容?
CDN 就像一個(gè) GPS 系統加上快速收費公路;CDN 將能夠找到到達遠方位置的最佳路徑,并且能夠使用自己的網(wǎng)絡(luò )盡快找到到達那里的最佳路徑。
當用戶(hù)從諸如網(wǎng)頁(yè)或 Web 應用程序之類(lèi)的 Internet 屬性加載內容時(shí),會(huì )進(jìn)行一系列連接以到達提供內容的位置。網(wǎng)絡(luò )流量可以比喻為道路和高速公路系統;較小的地面街道將本地交通轉移到同一地區,州際高速公路將交通轉移到不同的州。當出現問(wèn)題時(shí),例如油罐車(chē)將主要路徑上的州際高速公路的所有車(chē)道阻塞到不同的狀態(tài),交通必須找到另一條路徑。就像穿越不同州的高速公路一樣,交通通常必須跨越不同的網(wǎng)絡(luò )才能到達最終目的地。如果特定網(wǎng)絡(luò )中存在阻塞,則必須將流量重定向到不同的路徑。此過(guò)程可能既耗時(shí)又低效。
假設舊金山的用戶(hù)正在加載洛杉磯的網(wǎng)站。連接有很多步驟,但在此示例中,最重要的步驟之一是網(wǎng)絡(luò )信號在前往最終目的地的途中通過(guò)位于圣何塞的電信提供商。當網(wǎng)絡(luò )工程師不小心將咖啡倒在圣何塞的路由設備上時(shí),提供商會(huì )離線(xiàn),斷開(kāi)連接(發(fā)生了奇怪的事情)。當這種情況發(fā)生時(shí),除非網(wǎng)絡(luò )流量被重新路由以適應新的網(wǎng)絡(luò )環(huán)境,否則用戶(hù)將無(wú)法再加載他們的 Internet 內容。如果用戶(hù)想要到達洛杉磯,現在需要通過(guò)不同的電信提供商提出請求。
現在流量不再能夠通過(guò)預期的網(wǎng)絡(luò ),它必須轉而進(jìn)入由不同組織維護的完全不同的網(wǎng)絡(luò )。這種重新協(xié)商和切換網(wǎng)絡(luò )的過(guò)程可能會(huì )在一個(gè)網(wǎng)絡(luò )請求中發(fā)生多次,這樣的實(shí)例可能會(huì )增加延遲,并可能將流量推到擁塞的路徑上,從而導致延遲。一個(gè)足夠大的 CDN 通常會(huì )通過(guò)將服務(wù)器放置在Internet 交換點(diǎn) (IXP)和其他戰略位置來(lái)控制自己的網(wǎng)絡(luò )連接。這些優(yōu)化的網(wǎng)絡(luò )架構允許 CDN 提供商優(yōu)化路由并減少延遲。
CDN 如何使用 Anycast 網(wǎng)絡(luò )來(lái)提高可靠性?
一些 CDN 將使用Anycast路由方法將 Internet 流量傳輸到特定的可用數據中心。這樣做是為了確保改進(jìn)響應時(shí)間,并防止任何一個(gè)數據中心在出現異常需求(例如在 DDoS 攻擊期間)時(shí)被流量淹沒(méi)。
使用 Anycast,多臺機器可以共享同一個(gè)IP 地址。當請求發(fā)送到 Anycast IP 地址時(shí),路由器會(huì )將其定向到網(wǎng)絡(luò )上最近的機器。如果整個(gè)數據中心出現故障或因流量過(guò)大而無(wú)法運行,Anycast 網(wǎng)絡(luò )可以響應中斷,類(lèi)似于負載均衡器在數據中心內的多臺服務(wù)器之間傳輸流量的方式;數據從故障位置路由出去,而是路由到另一個(gè)仍然在線(xiàn)且正常運行的數據中心。
DDoS 攻擊是目前對 Internet 資產(chǎn)可靠性的最大威脅之一。使用 Anycast 的 CDN 在緩解 DDoS 攻擊方面具有額外的靈活性。在大多數現代 DDoS 攻擊中,許多入侵計算機或“機器人”被用來(lái)形成所謂的僵尸網(wǎng)絡(luò )。這些受感染的機器可以產(chǎn)生如此多的互聯(lián)網(wǎng)流量,以至于它們可以壓倒典型的單播連接機器。借助 Anycast 網(wǎng)絡(luò ),部分僵尸網(wǎng)絡(luò )攻擊流量可以分布在多個(gè)數據中心,從而減少攻擊的影響。