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