女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

3天內不再提示

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

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

什么是 CDN ?

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

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

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

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

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

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

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

京東倉配系統(tǒng)

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

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

CDN 簡易示意圖

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

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

絕大部分公司都會在項目開發(fā)中交使用 CDN 服務,但很少會有自建 CDN 服務的公司。基于成本、穩(wěn)定性和易用性考慮,建議直接選擇專業(yè)的云廠商(比如阿里云、騰訊云、華為云、青云)或者 CDN 廠商(比如網宿、藍汛)提供的開箱即用的 CDN 服務。

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

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

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

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

CDN 工作原理是什么?

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

靜態(tài)資源是如何被緩存到 CDN 節(jié)點中的?

如何找到最合適的 CDN 節(jié)點?

如何防止靜態(tài)資源被盜用?

靜態(tài)資源是如何被緩存到 CDN 節(jié)點中的?

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

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

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

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

如何找到最合適的 CDN 節(jié)點?

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

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

瀏覽器向 DNS 服務器發(fā)送域名請求;

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

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

瀏覽器直接訪問指定的 CDN 節(jié)點。

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

CDN 原理示意圖

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

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

如何防止資源被盜刷?

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

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

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

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

騰訊云 CDN Referer 防盜鏈配置

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

通常情況下,我們會配合其他機制來確保靜態(tài)資源被盜用,一種常用的機制是時間戳防盜鏈。相比之下,時間戳防盜鏈的安全性更強一些。時間戳防盜鏈加密的 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 就是將靜態(tài)資源分發(fā)到多個不同的地方以實現就近訪問,進而加快靜態(tài)資源的訪問速度,減輕服務器以及帶寬的負擔。

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

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

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

審核編輯:郭婷

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

    關注

    13

    文章

    9683

    瀏覽量

    87273
  • CDN
    CDN
    +關注

    關注

    0

    文章

    328

    瀏覽量

    29498

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

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

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    如何監(jiān)控RAKsmart CDN的性能?

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

    靠譜的高防cdn費用高嗎?

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

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

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

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

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

    cdn的優(yōu)勢和劣勢

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

    cdn是什么類型的服務

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

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

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

    華納云:如何理解CDN

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

    CDN網站加速

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

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

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

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

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

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

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

    IP地址與CDN技術

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

    CDN節(jié)點是什么

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

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

    高防CDN(內容分發(fā)網絡)主要通過分布式的網絡架構來幫助網站抵御DDoS(分布式拒絕服務)和CC(挑戰(zhàn)碰撞)攻擊。 下面是高防CDN如何應對這些攻擊的詳細描述: 1. DDoS攻擊防護 DDoS攻擊
    的頭像 發(fā)表于 06-07 14:29 ?504次閱讀