自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

面試官:如何理解CDN?說(shuō)說(shuō)實(shí)現(xiàn)原理?

網(wǎng)絡(luò) 網(wǎng)絡(luò)管理
構(gòu)建在現(xiàn)有網(wǎng)絡(luò)基礎(chǔ)之上的智能虛擬網(wǎng)絡(luò),依靠部署在各地的邊緣服務(wù)器,通過(guò)中心平臺(tái)的負(fù)載均衡、內(nèi)容分發(fā)、調(diào)度等功能模塊,使用戶就近獲取所需內(nèi)容,降低網(wǎng)絡(luò)擁塞,提高用戶訪問(wèn)響應(yīng)速度和命中率。

[[400599]]

一、是什么

CDN (全稱 Content Delivery Network),即內(nèi)容分發(fā)網(wǎng)絡(luò)。

構(gòu)建在現(xiàn)有網(wǎng)絡(luò)基礎(chǔ)之上的智能虛擬網(wǎng)絡(luò),依靠部署在各地的邊緣服務(wù)器,通過(guò)中心平臺(tái)的負(fù)載均衡、內(nèi)容分發(fā)、調(diào)度等功能模塊,使用戶就近獲取所需內(nèi)容,降低網(wǎng)絡(luò)擁塞,提高用戶訪問(wèn)響應(yīng)速度和命中率。CDN 的關(guān)鍵技術(shù)主要有內(nèi)容存儲(chǔ)和分發(fā)技術(shù)/

簡(jiǎn)單來(lái)講,CDN就是根據(jù)用戶位置分配最近的資源

于是,用戶在上網(wǎng)的時(shí)候不用直接訪問(wèn)源站,而是訪問(wèn)離他“最近的”一個(gè) CDN 節(jié)點(diǎn),術(shù)語(yǔ)叫「邊緣節(jié)點(diǎn)」,其實(shí)就是緩存了源站內(nèi)容的代理服務(wù)器。如下圖:

二、原理分析

在沒(méi)有應(yīng)用CDN時(shí),我們使用域名訪問(wèn)某一個(gè)站點(diǎn)時(shí)的路徑為

用戶提交域名→瀏覽器對(duì)域名進(jìn)行解釋→DNS 解析得到目的主機(jī)的IP地址→根據(jù)IP地址訪問(wèn)發(fā)出請(qǐng)求→得到請(qǐng)求數(shù)據(jù)并回復(fù)

應(yīng)用CDN后,DNS 返回的不再是 IP 地址,而是一個(gè)CNAME(Canonical Name ) 別名記錄,指向CDN的全局負(fù)載均衡

CNAME實(shí)際上在域名解析的過(guò)程中承擔(dān)了中間人(或者說(shuō)代理)的角色,這是CDN實(shí)現(xiàn)的關(guān)鍵

負(fù)載均衡系統(tǒng)

由于沒(méi)有返回IP地址,于是本地DNS會(huì)向負(fù)載均衡系統(tǒng)再發(fā)送請(qǐng)求 ,則進(jìn)入到CDN的全局負(fù)載均衡系統(tǒng)進(jìn)行智能調(diào)度:

  • 看用戶的 IP 地址,查表得知地理位置,找相對(duì)最近的邊緣節(jié)點(diǎn)
  • 看用戶所在的運(yùn)營(yíng)商網(wǎng)絡(luò),找相同網(wǎng)絡(luò)的邊緣節(jié)點(diǎn)
  • 檢查邊緣節(jié)點(diǎn)的負(fù)載情況,找負(fù)載較輕的節(jié)點(diǎn)
  • 其他,比如節(jié)點(diǎn)的“健康狀況”、服務(wù)能力、帶寬、響應(yīng)時(shí)間等

結(jié)合上面的因素,得到最合適的邊緣節(jié)點(diǎn),然后把這個(gè)節(jié)點(diǎn)返回給用戶,用戶就能夠就近訪問(wèn)CDN的緩存代理

整體流程如下圖:

緩存代理

緩存系統(tǒng)是 CDN的另一個(gè)關(guān)鍵組成部分,緩存系統(tǒng)會(huì)有選擇地緩存那些最常用的那些資源

其中有兩個(gè)衡量CDN服務(wù)質(zhì)量的指標(biāo):

  • 命中率:用戶訪問(wèn)的資源恰好在緩存系統(tǒng)里,可以直接返回給用戶,命中次數(shù)與所有訪問(wèn)次數(shù)之比
  • 回源率:緩存里沒(méi)有,必須用代理的方式回源站取,回源次數(shù)與所有訪問(wèn)次數(shù)之比

緩存系統(tǒng)也可以劃分出層次,分成一級(jí)緩存節(jié)點(diǎn)和二級(jí)緩存節(jié)點(diǎn)。一級(jí)緩存配置高一些,直連源站,二級(jí)緩存配置低一些,直連用戶

回源的時(shí)候二級(jí)緩存只找一級(jí)緩存,一級(jí)緩存沒(méi)有才回源站,可以有效地減少真正的回源

現(xiàn)在的商業(yè) CDN命中率都在 90% 以上,相當(dāng)于把源站的服務(wù)能力放大了 10 倍以上

三、總結(jié)

CDN 目的是為了改善互聯(lián)網(wǎng)的服務(wù)質(zhì)量,通俗一點(diǎn)說(shuō)其實(shí)就是提高訪問(wèn)速度

CDN 構(gòu)建了全國(guó)、全球級(jí)別的專(zhuān)網(wǎng),讓用戶就近訪問(wèn)專(zhuān)網(wǎng)里的邊緣節(jié)點(diǎn),降低了傳輸延遲,實(shí)現(xiàn)了網(wǎng)站加速

通過(guò)CDN的負(fù)載均衡系統(tǒng),智能調(diào)度邊緣節(jié)點(diǎn)提供服務(wù),相當(dāng)于CDN服務(wù)的大腦,而緩存系統(tǒng)相當(dāng)于CDN的心臟,緩存命中直接返回給用戶,否則回源

參考文獻(xiàn)

 

  • https://zh.wikipedia.org/wiki/內(nèi)容傳遞網(wǎng)路
  • https://juejin.cn/post/6844903890706661389#heading-5
  • https://blog.csdn.net/lxx309707872/article/details/109078783

 

責(zé)任編輯:武曉燕 來(lái)源: JS每日一題
相關(guān)推薦

2024-08-22 10:39:50

@Async注解代理

2024-03-05 10:33:39

AOPSpring編程

2024-08-29 16:30:27

2024-08-12 17:36:54

2024-02-29 16:49:20

volatileJava并發(fā)編程

2024-09-20 08:36:43

零拷貝數(shù)據(jù)傳輸DMA

2024-03-22 06:56:24

零拷貝技術(shù)數(shù)據(jù)傳輸數(shù)據(jù)拷貝

2024-03-14 14:56:22

反射Java數(shù)據(jù)庫(kù)連接

2024-03-28 10:37:44

IoC依賴注入依賴查找

2024-07-31 08:28:37

DMAIOMMap

2024-12-06 07:00:00

2024-03-01 11:33:31

2024-12-04 14:45:14

零拷貝技術(shù)CPU 拷貝Zero-copy

2024-06-04 09:02:03

2024-11-15 15:27:09

2021-06-07 17:12:22

線程安全Atomic

2025-02-28 00:00:00

2025-04-07 00:00:00

MySQL數(shù)據(jù)庫(kù)服務(wù)器

2024-11-19 15:13:02

2023-12-27 18:16:39

MVCC隔離級(jí)別幻讀
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)