內容分發網絡 (CDN) 是負責內容分發的 Internet 透明骨干網。無論我們是否知道,我們每個人每天都與 CDN 進行交互;在新聞網站上閱讀文章、在線購物、觀看 YouTube 視頻或瀏覽社交媒體時。無論您做什么,或者您消費什么類型的內容,您都可能會發現傳送到您的 PC 和移動瀏覽器的每個文本字符、每個圖像像素和每個電影幀背后都有 CDN。要理解為什么 CDN 被如此廣泛地使用,您首先需要認識到它們旨在解決的問題。稱為延遲,這是從您請求加載網頁到其內容實際出現在屏幕上的那一刻發生的令人討厭的延遲。

該延遲間隔受多種因素的影響,其中許多因素特定于給定的網頁。但是,在所有情況下,延遲持續時間都會受到您與該網站的托管服務器之間的物理距離的影響。CDN 的任務是實際上縮短物理距離,目標是提高站點呈現速度和性能。
CDN 是如何工作的?
為了最大程度地縮短訪問者與您網站服務器之間的距離,CDN 將其內容的緩存版本存儲在多個地理位置(也稱為存在點或 PoP)。每個 PoP 都包含許多緩存服務器,負責向附近的訪問者傳送內容。
本質上,CDN 將您的內容同時放在許多地方,為您的用戶提供卓越的覆蓋。例如,當倫敦的某個人訪問您在美國托管的網站時,這是通過當地的英國 PoP 完成的。這比讓訪問者的請求和您的響應穿越大西洋并返回要快得多。簡而言之,這就是 CDN 的工作方式。當然,正如我們認為我們需要一個完整的指南來解釋內容交付網絡的內部運作一樣,這個兔子洞變得更深了。
分秒必爭
研究表明,延遲一秒鐘會導致轉化率下降 7%,頁面瀏覽量下降 11%,客戶滿意度下降 16%。
誰使用 CDN?
幾乎每個人。今天,超過一半的流量已經由 CDN 提供服務。這些數字每年都在迅速上升。現實情況是,如果您的業務的任何部分都在線,則沒有理由不使用 CDN,尤其是當有如此多的公司免費提供服務時。然而,即使作為一項免費服務,CDN 也并非適合所有人。具體來說,如果您運行的是一個嚴格本地化的網站,并且您的絕大多數用戶與您的主機位于同一區域,那么使用 CDN 幾乎沒有什么好處。在這種情況下,使用 CDN 實際上會在訪問者和附近的服務器之間引入另一個不必要的連接點,從而降低網站的性能。
盡管如此,大多數網站都傾向于大規模運營,這使得 CDN 使用成為以下領域的熱門選擇:
- 廣告
- 媒體和娛樂
- 網絡游戲
- 電子商務
- 移動的
- 衛生保健
- 高等教育
- 政府
那么 CDN 能為我做什么?
現代 CDN 可以處理大量 IT 任務,幫助您:
- 提高頁面加載速度
- 處理高流量負載
- 阻止垃圾郵件發送者、刮板和其他不良機器人
- 無需成本即可實現本地化覆蓋
- 減少帶寬消耗
- 多臺服務器之間的負載均衡
- 保護您的網站免受 DDoS 攻擊
- 保護您的應用程序
- 和更多
CDN 構建塊
PoP(存在點)
CDN PoP(接入點)是位于戰略位置的數據中心,負責與其地理區域附近的用戶進行通信。它們的主要功能是通過使內容更接近網站訪問者來減少往返時間。每個 CDN PoP 通常包含許多緩存服務器。
緩存服務器
緩存服務器負責緩存文件的存儲和傳遞。它們的主要功能是加快網站加載時間并減少帶寬消耗。每個 CDN 緩存服務器通常擁有多個存儲驅動器和大量 RAM 資源。
固態硬盤/機械硬盤 + 內存
在 CDN 緩存服務器內部,緩存文件存儲在固態硬盤和硬盤驅動器(SSD 和 HDD)或隨機存取存儲器 (RAM) 中,更常用的文件托管在速度更快的介質上。作為三者中最快的,RAM 通常用于存儲最常訪問的項目。
開始使用 CDN
要使 CDN 正常工作,它需要成為所有傳入流量的默認入站網關。為此,您需要修改您的根域 DNS 配置(例如,domain.com)和子域的配置(例如,www.domain.com、img.domain.com)。對于您的根域,您將更改其 A 記錄以指向 CDN 的 IP 范圍之一。對于每個子域,修改其 CNAME 記錄以指向 CDN 提供的子域地址(例如,ns1.cdn.com)。在這兩種情況下,這都會導致 DNS 將所有訪問者路由到您的 CDN,而不是被定向到您的原始服務器。
如果其中任何一個聽起來令人困惑,請不要擔心。今天的 CDN 供應商提供分步說明,以幫助您完成激活階段。此外,他們還通過支持團隊提供幫助。整個過程歸結為一些復制和粘貼,通常需要大約五分鐘。
CDN使用示意圖

為什么 CDN 不是我網站托管的默認部分?
在理想情況下,CDN 將成為任何網站托管的組成部分。然而,當 CDN 在 1990 年代后期首次建立時,它們過于昂貴并且只有最大的組織才能使用。如今情況發生了變化,許多托管服務提供商實際上確實提供 CDN 服務作為復選框附加組件。
CDN 的演變
商業 CDN 從上世紀 90 年代就出現了。與任何其他已有數十年歷史的技術一樣,它們在成為當今強大的應用程序交付平臺之前經歷了幾個進化階段。CDN 的發展道路是由市場力量塑造的,包括內容消費的新趨勢和巨大的連接性進步。后者已通過光纖和其他新的通信技術實現。總體而言,CDN 演進可分為三代,每一代都在其網絡架構中引入新的功能、技術和概念。同時,每一代人都看到 CDN 服務的價格呈下降趨勢,標志著其向大眾市場技術的轉變。
靜態CDN
- 服務內容靜態 HTML 和可下載文件
- 緩存方法原點推送
- 網絡拓撲結構疏散
- 議程表現
- 價錢非常貴
- 顧客企業界
動態CDN
- 服務內容靜態和動態內容,包括富媒體
- 緩存方法很多都是起源拉
- 網絡拓撲結構合并
- 議程性能和可用性
- 價錢昂貴的
- 顧客業務部門
多用途 CDN
- 服務內容靜態和動態內容,包括富媒體
- 緩存方法大部分都是origin pull
- 網絡拓撲結構高度整合
- 議程安全性、性能和可用性
- 價錢實惠
- 顧客任何有網站的人
反向代理
內容分發網絡采用反向代理技術。就拓撲而言,這意味著 CDN 部署在您的后端服務器之前。這個位于網絡邊界邊緣的位置提供了幾個關鍵優勢,超出了 CDN 加速內容交付的先天能力。
如今,多功能 CDN 正在利用反向代理拓撲來提供以下類型的解決方案:

網站安全
網絡安全就是管理對受保護邊界的外部訪問,最好在所有威脅踏入您家門口之前將其阻止。CDN 部署在您的網絡邊緣,非常適合充當虛擬的高安全性圍欄,防止對您的網站和 Web 應用程序的攻擊。邊緣位置也使 CDN 成為阻止DDoS 泛洪的理想選擇,需要在您的核心網絡基礎設施之外進行緩解。

負載均衡
負載平衡就是在你的服務器前面放置一個“流量守衛”,以這樣一種方式交替傳入的請求流,以避免交通堵塞。顯然,CDN 的反向代理拓撲非常適合此目的,因為它是所有傳入流量的默認接收者。此外,反向代理拓撲還為 CDN 提供了增強的流量可見性。這使它能夠準確地衡量每個后端服務器上的待處理請求數量,從而實現更有效的負載分配。