在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

什么是CDN ?CDN工作原理是什么?

程序員cxuan ? 來源:JavaGuide ? 作者:Guide ? 2022-10-21 15:34 ? 次閱讀

什么是 CDN ?

CDN全稱是 Content Delivery Network/Content Distribution Network,翻譯過的意思是內容分發網絡。

我們可以將內容分發網絡拆開來看:

內容 :指的是靜態資源比如圖片、視頻、文檔、JS、CSS、HTML。

分發網絡 :指的是將這些靜態資源分發到位于多個不同的地理位置機房中的服務器上,這樣,就可以實現靜態資源的就近訪問比如北京的用戶直接訪問北京機房的數據。

所以,簡單來說,CDN 就是將靜態資源分發到多個不同的地方以實現就近訪問,進而加快靜態資源的訪問速度,減輕服務器以及帶寬的負擔。

類似于京東建立的龐大的倉儲運輸體系,京東物流在全國擁有非常多的倉庫,倉儲網絡幾乎覆蓋全國所有區縣。這樣的話,用戶下單的第一時間,商品就從距離用戶最近的倉庫,直接發往對應的配送站,再由京東小哥送到你家。

e841f26c-50fa-11ed-a3b6-dac502259ad0.png

京東倉配系統

你可以將 CDN 看作是服務上一層的特殊緩存服務,分布在全國各地,主要用來處理靜態資源的請求。

e85dadf4-50fa-11ed-a3b6-dac502259ad0.png

CDN 簡易示意圖

我們經常拿全站加速和內容分發網絡做對比,不要把兩者搞混了!全站加速(不同云服務商叫法不同,騰訊云叫 ECDN、阿里云叫 DCDN)既可以加速靜態資源又可以加速動態資源,內容分發網絡(CDN)主要針對的是靜態資源。

e87aac42-50fa-11ed-a3b6-dac502259ad0.png

絕大部分公司都會在項目開發中交使用 CDN 服務,但很少會有自建 CDN 服務的公司?;诔杀尽⒎€定性和易用性考慮,建議直接選擇專業的云廠商(比如阿里云、騰訊云、華為云、青云)或者 CDN 廠商(比如網宿、藍汛)提供的開箱即用的 CDN 服務。

很多朋友可能要問了:既然是就近訪問,為什么不直接將服務部署在多個不同的地方呢?

成本太高,需要部署多份相同的服務。

靜態資源通常占用空間比較大且經常會被訪問到,如果直接使用服務器或者緩存來處理靜態資源請求的話,對系統資源消耗非常大,可能會影響到系統其他服務的正常運行。

同一個服務在在多個不同的地方部署多份(比如同城災備、異地災備、同城多活、異地多活)是為了實現系統的高可用而不是就近訪問。

CDN 工作原理是什么?

搞懂下面 3 個問題也就搞懂了 CDN 的工作原理:

靜態資源是如何被緩存到 CDN 節點中的?

如何找到最合適的 CDN 節點?

如何防止靜態資源被盜用?

靜態資源是如何被緩存到 CDN 節點中的?

你可以通過預熱的方式將源站的資源同步到 CDN 的節點中。這樣的話,用戶首次請求資源可以直接從 CDN 節點中取,無需回源。這樣可以降低源站壓力,提升用戶體驗。

如果不預熱的話,你訪問的資源可能不再 CDN 節點中,這個時候 CDN 節點將請求源站獲取資源,這個過程是大家經常說的回源。

命中率和回源率是衡量 CDN 服務質量兩個重要指標。命中率越高越好,回源率越低越好。

如果資源有更新的話,你也可以對其刷新,刪除 CDN 節點上緩存的資源,當用戶訪問對應的資源時直接回源獲取最新的資源,并重新緩存。

如何找到最合適的 CDN 節點?

GSLB (Global Server Load Balance,全局負載均衡)是 CDN 的大腦,負責多個 CDN 節點之間相互協作,最常用的是基于 DNS 的 GSLB。

CDN 會通過 GSLB 找到最合適的 CDN 節點,更具體點來說是下面這樣的:

瀏覽器向 DNS 服務器發送域名請求;

DNS 服務器向根據 CNAME( Canonical Name ) 別名記錄向 GSLB 發送請求;

GSLB 返回性能最好(通常距離請求地址最近)的 CDN 節點(邊緣服務器,真正緩存內容的地方)的地址給瀏覽器;

瀏覽器直接訪問指定的 CDN 節點。

e8c167d6-50fa-11ed-a3b6-dac502259ad0.png

CDN 原理示意圖

為了方便理解,上圖其實做了一點簡化。GSLB 內部可以看作是 CDN 專用 DNS 服務器和負載均衡系統組合。CDN 專用 DNS 服務器會返回負載均衡系統 IP 地址給瀏覽器,瀏覽器使用 IP 地址請求負載均衡系統進而找到對應的 CDN 節點。

GSLB 是如何選擇出最合適的 CDN 節點呢?GSLB 會根據請求的 IP 地址、CDN 節點狀態(比如負載情況、性能、響應時間、帶寬)等指標來綜合判斷具體返回哪一個 CDN 節點的地址。

如何防止資源被盜刷?

如果我們的資源被其他用戶或者網站非法盜刷的話,將會是一筆不小的開支。

解決這個問題最常用最簡單的辦法設置Referer 防盜鏈,具體來說就是根據 HTTP 請求的頭信息里面的 Referer 字段對請求進行限制。我們可以通過 Referer 字段獲取到當前請求頁面的來源頁面的網站地址,這樣我們就能確定請求是否來自合法的網站。

CDN 服務提供商幾乎都提供了這種比較基礎的防盜鏈機制。

e8d21324-50fa-11ed-a3b6-dac502259ad0.png

騰訊云 CDN Referer 防盜鏈配置

不過,如果站點的防盜鏈配置允許 Referer 為空的話,通過隱藏 Referer,可以直接繞開防盜鏈。

通常情況下,我們會配合其他機制來確保靜態資源被盜用,一種常用的機制是時間戳防盜鏈。相比之下,時間戳防盜鏈的安全性更強一些。時間戳防盜鏈加密的 URL 具有時效性,過期之后就無法再被允許訪問。

時間戳防盜鏈的 URL 通常會有兩個參數一個是簽名字符串,一個是過期時間。簽名字符串一般是通過對用戶設定的加密字符串、請求路徑、過期時間通過 MD5 哈希算法取哈希的方式獲得。

時間戳防盜鏈 URL 示例:

http://cdn.wangsu.com/4/123.mp3?wsSecret=79aead3bd7b5db4adeffb93a010298b5&wsTime=1601026312

wsSecret :簽名字符串。

wsTime: 過期時間。

e8ea6ae6-50fa-11ed-a3b6-dac502259ad0.png

時間戳防盜鏈的實現也比較簡單,并且可靠性較高,推薦使用。并且,絕大部分 CDN 服務提供商都提供了開箱即用的時間戳防盜鏈機制。

e909df66-50fa-11ed-a3b6-dac502259ad0.png

七牛云時間戳防盜鏈配置

除了 Referer 防盜鏈和時間戳防盜鏈之外,你還可以 IP 黑白名單配置、IP 訪問限頻配置等機制來防盜刷。

總結

CDN 就是將靜態資源分發到多個不同的地方以實現就近訪問,進而加快靜態資源的訪問速度,減輕服務器以及帶寬的負擔。

基于成本、穩定性和易用性考慮,建議直接選擇專業的云廠商(比如阿里云、騰訊云、華為云、青云)或者 CDN 廠商(比如網宿、藍汛)提供的開箱即用的 CDN 服務。

GSLB (Global Server Load Balance,全局負載均衡)是 CDN 的大腦,負責多個 CDN 節點之間相互協作,最常用的是基于 DNS 的 GSLB。CDN 會通過 GSLB 找到最合適的 CDN 節點。

為了防止靜態資源被盜用,我們可以利用Referer 防盜鏈+時間戳防盜鏈。

審核編輯:郭婷

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 服務器
    +關注

    關注

    12

    文章

    9620

    瀏覽量

    87088
  • CDN
    CDN
    +關注

    關注

    0

    文章

    328

    瀏覽量

    29415

原文標題:美團二面:什么是 CDN ?CDN 工作原理是什么?

文章出處:【微信號:cxuangoodjob,微信公眾號:程序員cxuan】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    如何監控RAKsmart CDN的性能?

     RAKsmart CDN擁有遍布全球的多個數據中心節點,通過將網站的靜態資源緩存到這些節點上,使用戶能夠從距離他們最近的服務器獲取內容,從而大大減少了頁面加載時間,提高了網站的訪問速度,以下是一些監控RAKsmart CDN性能的方法。主機推薦小編為您整理發布。
    的頭像 發表于 03-31 11:06 ?103次閱讀

    靠譜的高防cdn費用高嗎?

    高防CDN的成本相較于普通CDN確實更高,但費用是否“高”需結合其防護價值和業務需求綜合判斷。高防CDN整合了內容分發加速與DDoS攻擊防御能力,需投入大量資源構建分布式節點、清洗中心以及實時監測
    的頭像 發表于 02-05 11:06 ?306次閱讀

    cdn是什么技術 cdn是怎樣提高網站速度的

    一、CDN技術概述 CDN,全稱Content Delivery Network,即內容分發網絡,是一種通過在網絡各處部署節點,將內容緩存至離用戶更近的地方,以減少數據傳輸延遲和提高訪問速度
    的頭像 發表于 01-31 15:41 ?1260次閱讀

    cdn是云服務嗎 cdn是干什么用的

    在當今這個信息爆炸的時代,互聯網用戶對于內容的加載速度和質量有著極高的要求。無論是視頻流、圖片還是網頁,用戶都希望能夠在點擊鏈接的瞬間就能獲得響應。為了滿足這種需求,CDN(內容分發網絡)應運而生
    的頭像 發表于 01-19 14:30 ?2124次閱讀

    cdn的優勢和劣勢

    CDN的優勢 1. 加速內容傳輸 CDN通過在全球范圍內部署邊緣服務器,將內容緩存到離用戶更近的地方,從而減少數據傳輸的延遲,加快內容加載速度。這對于提高用戶體驗至關重要,尤其是在用戶分布在全球各地
    的頭像 發表于 01-19 14:28 ?2819次閱讀

    cdn是什么類型的服務

    在當今的數字化時代,互聯網已成為人們獲取信息、交流和娛樂的主要渠道。隨著網絡技術的飛速發展,用戶對網絡內容的訪問速度和穩定性的要求越來越高。為了滿足這些需求,CDN服務應運而生,它通過在全球范圍內
    的頭像 發表于 01-19 14:26 ?1655次閱讀

    使用CDN安全嗎?CDN如何達到基本防護功能呢?

    網絡的普及為生活帶來極大便利,民眾能夠在不出門的情況下透過網絡完成各種大小事務。線上服務已成為日常生活中不可或缺的一部分,提供線上服務的供應商為了因應龐大的客戶流量,會選擇部署CDN
    的頭像 發表于 08-30 13:03 ?708次閱讀
    使用<b class='flag-5'>CDN</b>安全嗎?<b class='flag-5'>CDN</b>如何達到基本防護功能呢?

    華納云:如何理解CDN

    內容分發網絡(CDN)是一種網絡架構,旨在提高用戶對網站、應用程序或其他互聯網內容的訪問速度和性能。CDN 的主要原理是通過在全球范圍內部署分布式服務器,將內容緩存并提供給用戶距離Z近的服務器,從而
    的頭像 發表于 08-23 15:20 ?431次閱讀

    CDN網站加速

    CDN網站加速是什么呢? CDN,英文全名為Content?Delivery?Network(也有人稱“Content?Distribution?Network”)的縮寫,即是我們中文所指的內容傳遞
    的頭像 發表于 08-08 15:02 ?531次閱讀
    <b class='flag-5'>CDN</b>網站加速

    什么情況下的網站要使用CDN加速呢?

    速度慢等問題。 原理就是在客戶端和源站中多加一層節點,用以加快用戶的訪問速度,讓用戶和離自己最近的節點層做交互。 CDN網站加速的工作流程 當用戶訪問已經加入CDN服務的網站時,首先通過DNS重定向技術確定最接近用戶的最佳
    的頭像 發表于 07-26 16:29 ?424次閱讀

    CDN是什么?了解用CDN服務連到網站加速的原理與優勢

    為什么通過CDN能讓網站變得更加快速呢?有想過為什么我們在中國使用網絡,卻能夠快速、穩定的連上海外的網站嗎?今天就來與各位聊聊CDN加速的原理,看看CDN是如何幫助網站加速,而除了加速之外
    的頭像 發表于 07-21 10:54 ?1122次閱讀

    融合CDN是什么?為什么需要融合CDN?其應用方法與原理是什么?

    你了解融合CDN是什么嗎?為什么需要融合CDN?你可能有聽過融合CDN,但你知道它的應用方法與原理嗎?本文將帶你一次了解什么是融合CDN,詳細介紹融合
    的頭像 發表于 07-11 14:49 ?493次閱讀

    IP地址與CDN技術

    內容分發網絡(CDN)就是通過內容分配到離用戶最優的服務器來提高訪問速度。而IP地址如何分配與管理就是CND技術的基礎。本文將來探討介紹CDN中的IP地址分配與管理,以及如何通過CDN優化網絡性能
    的頭像 發表于 07-10 11:30 ?574次閱讀

    CDN節點是什么

    CDN 節點是什么 CDN 主要依靠部署在各地的邊緣服務器,利用全局負載技術將用戶的訪問指向距離最近且正常工作的緩存服務器上,用戶訪問網站時由緩存服務器直接響應用戶請求。CDN 節點作
    的頭像 發表于 07-06 13:45 ?1355次閱讀
    <b class='flag-5'>CDN</b>節點是什么

    高防CDN是如何應對DDoS和CC攻擊的

    高防CDN(內容分發網絡)主要通過分布式的網絡架構來幫助網站抵御DDoS(分布式拒絕服務)和CC(挑戰碰撞)攻擊。 下面是高防CDN如何應對這些攻擊的詳細描述: 1. DDoS攻擊防護 DDoS攻擊
    的頭像 發表于 06-07 14:29 ?479次閱讀
    主站蜘蛛池模板: 天天摸天天做 | 欧美一区二区不卡视频 | 如果我们是季节韩剧在线观看 | 四虎欧美在线观看免费 | 青青热久免费精品视频在线观看 | 国产精品欧美激情第一页 | 狠狠色综合久久婷婷 | 久久精品国产免费高清 | 日本三级欧美三级香港黄 | 日本黄大乳片免费观看 | 久久香蕉精品视频 | www.天天射| 免费在线观看一区二区 | 日日干天天干 | 啪啪午夜视频 | 特级一级毛片视频免费观看 | 最新黄色免费网站 | 欧美爆插 | 五月天激情综合网 | 国产激情在线观看 | 高清不卡免费一区二区三区 | 日本口工福利漫画无遮挡 | 色多多福利网站老司机 | 成人欧美一区二区三区小说 | 狂捣猛撞侍卫攻双性王爷受 | 欧美做a欧美 | 久久国产视频一区 | 黄色视屏免费在线观看 | 瑟瑟久久 | 欧美一欧美一区二三区性 | 欧美视频小说 | 啊用力太猛了啊好深视频免费 | 黄 色 免 费 网站在线观看 | 天天性视频 | 亚洲欧美啪啪 | 99色在线观看 | 99久久999久久久综合精品涩 | 亚洲色图欧美色 | 女人爽到喷水的视频大全在线观看 | 国产免费午夜 | 69日本xxxxxxxxx98|