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

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

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

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

負(fù)載均衡
負(fù)載平衡就是在你的服務(wù)器前面放置一個(gè)“流量守衛(wèi)”,以這樣一種方式交替?zhèn)魅氲恼埱罅鳎员苊饨煌ǘ氯o@然,CDN 的反向代理拓?fù)浞浅_m合此目的,因?yàn)樗撬袀魅肓髁康哪J(rèn)接收者。此外,反向代理拓?fù)溥€為 CDN 提供了增強(qiáng)的流量可見性。這使它能夠準(zhǔn)確地衡量每個(gè)后端服務(wù)器上的待處理請求數(shù)量,從而實(shí)現(xiàn)更有效的負(fù)載分配。