chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

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

程序員cxuan ? 來源:JavaGuide ? 作者:Guide ? 2022-10-21 15:34 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

什么是 CDN ?

CDN全稱是 Content Delivery Network/Content Distribution Network,翻譯過的意思是內(nèi)容分發(fā)網(wǎng)絡(luò)。

我們可以將內(nèi)容分發(fā)網(wǎng)絡(luò)拆開來看:

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

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

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

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

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

京東倉配系統(tǒng)

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

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

CDN 簡易示意圖

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

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

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

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

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

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

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

CDN 工作原理是什么?

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

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

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

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

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

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

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

命中率和回源率是衡量 CDN 服務(wù)質(zhì)量兩個重要指標(biāo)。命中率越高越好,回源率越低越好。

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

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

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

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

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

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

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

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

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

CDN 原理示意圖

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

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

如何防止資源被盜刷?

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

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

CDN 服務(wù)提供商幾乎都提供了這種比較基礎(chǔ)的防盜鏈機(jī)制。

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

騰訊云 CDN Referer 防盜鏈配置

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

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

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

時間戳防盜鏈 URL 示例:

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

wsSecret :簽名字符串。

wsTime: 過期時間。

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

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

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

七牛云時間戳防盜鏈配置

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

總結(jié)

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

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

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

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

審核編輯:郭婷

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

    關(guān)注

    14

    文章

    10365

    瀏覽量

    91763
  • CDN
    CDN
    +關(guān)注

    關(guān)注

    0

    文章

    330

    瀏覽量

    30598

原文標(biāo)題:美團(tuán)二面:什么是 CDN ?CDN 工作原理是什么?

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    靜態(tài)資源訪問很慢的排查思路和處理方法

    在日常運維工作中,前端開發(fā)人員經(jīng)常向運維反饋“靜態(tài)資源訪問很慢”、“頁面加載時間長”、“CDN 好像沒生效”等問題。作為運維工程師,我們需要能夠系統(tǒng)地排查這類問題,而不是簡單地把責(zé)任推給前端或者 CDN 提供商。
    的頭像 發(fā)表于 04-22 14:50 ?113次閱讀

    這個電路干啥用的呢?它的工作原理是怎么樣?

    很多工程師認(rèn)為圈起來的這個電路不能工作,我剛開始看到這個電路也是這么認(rèn)為的!這個圈起來的三極管(PNP)電路到底能不能工作呢,怎么樣的工作原理呢?歡迎工程師們在評論區(qū)暢所欲言。 APA320-160W+160W.
    發(fā)表于 04-15 11:03

    433M無線模塊的工作原理和距離

    一、工作原理  433MHz無線模塊的工作原理是通過發(fā)射器和接收器之間的模擬信號進(jìn)行無線通信。具體來說,它由發(fā)射器和接收器兩部分組成,這兩部分通過433MHz的模擬信號進(jìn)行通信。發(fā)射器工作原理
    發(fā)表于 04-10 14:44

    無線充電器的工作原理核心

    無線充電器的工作原理核心
    的頭像 發(fā)表于 12-06 10:19 ?1918次閱讀
    無線充電器的<b class='flag-5'>工作原理</b>核心

    onsemi碳化硅肖特基二極管NDSH40120CDN:高性能電源解決方案

    、1200 V的碳化硅肖特基二極管NDSH40120CDN,包括其技術(shù)特點、性能參數(shù)、典型特性以及封裝尺寸等方面,為電子工程師在電源設(shè)計中提供有價值的參考。
    的頭像 發(fā)表于 12-05 10:52 ?682次閱讀
    onsemi碳化硅肖特基二極管NDSH40120<b class='flag-5'>CDN</b>:高性能電源解決方案

    解析 onsemi NDSH20120CDN:SiC 肖特基二極管的卓越性能

    在電力電子領(lǐng)域,不斷追求更高的效率、更快的開關(guān)速度和更小的系統(tǒng)尺寸,碳化硅(SiC)肖特基二極管正逐漸成為新一代功率半導(dǎo)體的首選。今天,我們將深入探討 onsemi 的 NDSH20120CDN 碳化硅肖特基二極管,了解其特點、性能參數(shù)以及應(yīng)用場景。
    的頭像 發(fā)表于 12-01 16:01 ?509次閱讀
    解析 onsemi NDSH20120<b class='flag-5'>CDN</b>:SiC 肖特基二極管的卓越性能

    碳化硅肖特基二極管NDSH30120CDN:開啟高效電源設(shè)計新時代

    在電源設(shè)計領(lǐng)域,器件的性能直接影響著整個系統(tǒng)的效率、可靠性和成本。今天,我們要深入探討的是安森美(onsemi)的碳化硅(SiC)肖特基二極管NDSH30120CDN,這款器件以其卓越的性能,為電源設(shè)計帶來了全新的解決方案。
    的頭像 發(fā)表于 12-01 15:44 ?573次閱讀
    碳化硅肖特基二極管NDSH30120<b class='flag-5'>CDN</b>:開啟高效電源設(shè)計新時代

    高防服務(wù)器、高防IP、高防CDN:三種主流防御方案對比

    、高防IP和高防CDN。它們各有優(yōu)劣,適用于不同的業(yè)務(wù)場景。本文將從原理、優(yōu)缺點、適用場景等多個維度,為您帶來一份詳盡的對比指南,幫助您做出最明智的選擇。 一、 高防服務(wù)器:堅固的“堡壘式”防御 1. 工作原理 高防服務(wù)器可以理解
    的頭像 發(fā)表于 10-23 10:25 ?1575次閱讀

    交換機(jī)光模塊收發(fā)光超閾值無告警問題的處理方法

    某互聯(lián)網(wǎng)電視CDN網(wǎng)絡(luò)使用ZXR10 5960-56QU-HC交換機(jī)作為承載設(shè)備,通過光口與城域網(wǎng)設(shè)備以及CDN服務(wù)器對接,承載互聯(lián)網(wǎng)電視視頻流量。日常運行中發(fā)現(xiàn)設(shè)備沒有上報光模塊收發(fā)光超閾值告警,造成無法對互聯(lián)網(wǎng)電視的網(wǎng)絡(luò)質(zhì)差做提前干預(yù)。
    的頭像 發(fā)表于 10-16 09:34 ?1080次閱讀
    交換機(jī)光模塊收發(fā)光超閾值無告警問題的處理方法

    交換機(jī)無法Ping通本機(jī)IPv6接口地址問題

    某互聯(lián)網(wǎng)電視CDN網(wǎng)絡(luò)ZXR10 5960-56QU-HC(簡稱5960)交換機(jī)下掛CDN服務(wù)器,vlan-if接口地址作為服務(wù)器網(wǎng)關(guān),在運行中出現(xiàn)服務(wù)器無法ping通IPv6網(wǎng)關(guān),并且5960也無法ping通該接口的IPv6地址。
    的頭像 發(fā)表于 07-22 11:25 ?2665次閱讀
    交換機(jī)無法Ping通本機(jī)IPv6接口地址問題

    語音控制模塊工作原理

    ,才能夠發(fā)出正確的指令。 語音芯片控制模塊是實現(xiàn) “語音指令 - 設(shè)備響應(yīng)” 的核心組件,其工作原理可拆解為信號采集、處理、識別及指令執(zhí)行的完整鏈路,下面將以WTK69000為例給大家分享一下整個流程的工作原理。 一、語音信號采集
    的頭像 發(fā)表于 06-17 11:49 ?1685次閱讀
    語音控制模塊<b class='flag-5'>工作原理</b>

    管道浮力平衡壓袋(配重壓袋)工作原理

    管道浮力平衡壓袋(配重壓袋)工作原理
    發(fā)表于 06-12 15:09 ?0次下載

    FLASH的工作原理與應(yīng)用

    14FLASHFLASH的工作原理與應(yīng)用OWEIS1什么是FLASH?Flash閃存是一種非易失性半導(dǎo)體存儲器,它結(jié)合了ROM(只讀存儲器)和RAM(隨機(jī)訪問存儲器)的優(yōu)點,具有電子可擦除和可編程
    的頭像 發(fā)表于 05-27 13:10 ?2414次閱讀
    FLASH的<b class='flag-5'>工作原理</b>與應(yīng)用

    GPIO配置的工作原理是什么?

    我使用 EZ-USB 配置實用程序,我想知道是否有人知道 GPIO 配置的工作原理。 例如,GPIO0 可以用作傳感器復(fù)位,我知道這個 GPIO0 用于重置傳感器,但我不明白的是選項用戶 GPIO 例如GPIO 1可以是User GPIO0,這是什么意思呢?
    發(fā)表于 05-19 06:56

    電動調(diào)壓器的工作原理

    電壓調(diào)壓器是一種用于控制電路中電壓的裝置,其工作原理因類型而異,以下是幾種常見電壓調(diào)壓器的工作原理
    的頭像 發(fā)表于 05-12 13:46 ?1632次閱讀
    電動調(diào)壓器的<b class='flag-5'>工作原理</b>