日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

CDN如何实现,关键技术是什么?

發(fā)布時(shí)間:2023/12/3 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CDN如何实现,关键技术是什么? 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

轉(zhuǎn)載自??CDN如何實(shí)現(xiàn),關(guān)鍵技術(shù)是什么?

CDN原理?? ? ? ? ? ?

CDN網(wǎng)絡(luò)是在用戶和服務(wù)器之間增加Cache層,如何將用戶的請(qǐng)求引導(dǎo)到Cache上獲得源服務(wù)器的數(shù)據(jù),主要是通過接管DNS實(shí)現(xiàn),這就是CDN的最基本的原理。如下圖:

圖中各點(diǎn)含義如下:

1.用戶向?yàn)g覽器輸入www.web.com這個(gè)域名,瀏覽器第一次發(fā)現(xiàn)本地沒有dns緩存,則向網(wǎng)站的DNS服務(wù)器請(qǐng)求;

2.網(wǎng)站的DNS域名解析器設(shè)置了CNAME,指向了www.web.51cdn.com,請(qǐng)求指向了CDN網(wǎng)絡(luò)中的智能DNS負(fù)載均衡系統(tǒng);

3.智能DNS負(fù)載均衡系統(tǒng)解析域名,把對(duì)用戶響應(yīng)速度最快的IP節(jié)點(diǎn)返回給用戶;

4.用戶向該IP節(jié)點(diǎn)(CDN服務(wù)器)發(fā)出請(qǐng)求;

5.由于是第一次訪問,CDN服務(wù)器會(huì)向原web站點(diǎn)請(qǐng)求,并緩存內(nèi)容;

6.請(qǐng)求結(jié)果發(fā)給用戶。

當(dāng)然很多細(xì)節(jié)沒有涉及到,比如第1步,首先向本地的DNS服務(wù)器請(qǐng)求。第5步,內(nèi)容淘汰機(jī)制(根據(jù)TTL)等。但原理大體如此。

當(dāng)用戶訪問加入CDN服務(wù)的網(wǎng)站時(shí),域名解析請(qǐng)求將最終交給全局負(fù)載均衡DNS進(jìn)行處理。全局負(fù)載均衡DNS通過一組預(yù)先定義好的策略,將當(dāng)時(shí)最接近用 戶的節(jié)點(diǎn)地址提供給用戶,使用戶能夠得到快速的服務(wù)。同時(shí),它還與分布在世界各地的所有CDNC節(jié)點(diǎn)保持通信,搜集各節(jié)點(diǎn)的通信狀態(tài),確保不將用戶的請(qǐng)求 分配到不可用的CDN節(jié)點(diǎn)上,實(shí)際上是通過DNS做全局負(fù)載均衡。

對(duì)于普通的Internet用戶來講,每個(gè)CDN節(jié)點(diǎn)就相當(dāng)于一個(gè)放置在它周圍的WEB。通過全局負(fù)載均衡DNS的控制,用戶的請(qǐng)求被透明地指向離他最近的節(jié)點(diǎn),節(jié)點(diǎn)中CDN服務(wù)器會(huì)像網(wǎng)站的原始服務(wù)器一樣,響應(yīng)用戶的請(qǐng)求。由于它離用戶更近,因而響應(yīng)時(shí)間必然更快。

CDN節(jié)點(diǎn)

每個(gè)CDN節(jié)點(diǎn)由兩部分組成:負(fù)載均衡設(shè)備和高速緩存服務(wù)器。

負(fù)載均衡設(shè)備負(fù)責(zé)每個(gè)節(jié)點(diǎn)中各個(gè)Cache的負(fù)載均衡,保證節(jié)點(diǎn)的工作效率;同時(shí),負(fù)載均衡設(shè)備還負(fù)責(zé)收集節(jié)點(diǎn)與周圍環(huán)境的信息,保持與全局負(fù)載DNS的通信,實(shí)現(xiàn)整個(gè)系統(tǒng)的負(fù)載均衡。CDN的管理系統(tǒng)是整個(gè)系統(tǒng)能夠正常運(yùn)轉(zhuǎn)的保證。它不僅能對(duì)系統(tǒng)中的各個(gè)子系統(tǒng)和設(shè)備進(jìn)行實(shí)時(shí)監(jiān)控,對(duì)各種故障產(chǎn)生相應(yīng)的告警,還可以實(shí)時(shí)監(jiān)測(cè)到系統(tǒng)中 總的流量和各節(jié)點(diǎn)的流量,并保存在系統(tǒng)的數(shù)據(jù)庫中,使網(wǎng)管人員能夠方便地進(jìn)行進(jìn)一步分析。通過完善的網(wǎng)管系統(tǒng),用戶可以對(duì)系統(tǒng)配置進(jìn)行修改。

CDN網(wǎng)絡(luò)

理論上,最簡(jiǎn)單的CDN網(wǎng)絡(luò)有一個(gè)負(fù)責(zé)全局負(fù)載均衡的DNS和各節(jié)點(diǎn)一臺(tái)Cache,即可運(yùn)行。DNS支持根據(jù)用戶源IP地址解析不同的IP,實(shí)現(xiàn) 就近訪問。為了保證高可用性等,需要監(jiān)視各節(jié)點(diǎn)的流量、健康狀況等。一個(gè)節(jié)點(diǎn)的單臺(tái)Cache承載數(shù)量不夠時(shí),才需要多臺(tái)Cache,多臺(tái)Cache同時(shí) 工作,才需要負(fù)載均衡器,使Cache群協(xié)同工作。


CDN關(guān)鍵技術(shù):? ? ?

1.緩存算法[Squid];

2. 分發(fā)能力;

3. 負(fù)載均衡[Nginx]

4. 基于DNS[BIND];

5. 支持協(xié)議;

緩存算法決定命中率、源服務(wù)器壓力、POP節(jié)點(diǎn)存儲(chǔ)能力。

分發(fā)能力取決于IDC能力和IDC策略性分布。

負(fù)載均衡(智能調(diào)度)決定最佳路由、響應(yīng)時(shí)間、可用性、服務(wù)質(zhì)量。

基于DNS的負(fù)載均衡以CNAME實(shí)現(xiàn)[to cluster],智取最優(yōu)節(jié)點(diǎn)服務(wù),

緩存點(diǎn)有客戶端瀏覽器緩存、本地DNS服務(wù)器緩存。

緩存內(nèi)容有DNS地址緩存、客戶請(qǐng)求內(nèi)容緩存、動(dòng)態(tài)內(nèi)容緩存。

支持協(xié)議如靜動(dòng)態(tài)加速(圖片加速、https帶證書加速)、下載加速、流媒體加速、企業(yè)應(yīng)用加速、手機(jī)應(yīng)用加速。

CDN提供一種機(jī)制,當(dāng)用戶請(qǐng)求內(nèi)容時(shí),該內(nèi)容能夠由以最快速度交付的Cache來向用戶提供,這個(gè)挑選“最優(yōu)”的過程就叫做負(fù)載均衡。

從功能上看,典型的CDN系統(tǒng)由分發(fā)服務(wù)系統(tǒng),負(fù)載均衡系統(tǒng)和運(yùn)營(yíng)管理系統(tǒng)組成。

?分發(fā)服務(wù)系統(tǒng):

最基本的工作單元就是Cache設(shè)備,cache(邊緣cache)負(fù)責(zé)直接響應(yīng)最終用戶的訪問請(qǐng)求,把緩存在本地的內(nèi)容快速地提供給用 戶。同時(shí)cache還負(fù)責(zé)與源站點(diǎn)進(jìn)行內(nèi)容同步,把更新的內(nèi)容以及本地沒有的內(nèi)容從源站點(diǎn)獲取并保存在本地。Cache設(shè)備的數(shù)量、規(guī)模、總服務(wù)能力是衡 量一個(gè)CDN系統(tǒng)服務(wù)能力的最基本的指標(biāo)

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

主要功能是負(fù)責(zé)對(duì)所有發(fā)起服務(wù)請(qǐng)求的用戶進(jìn)行訪問調(diào)度,確定提供給用戶的最終實(shí)際訪問地址。兩級(jí)調(diào)度體系分為全局負(fù)載均衡(GSLB)和本 地負(fù)載均衡(SLB)。GSLB主要根據(jù)用戶就近性原則,通過對(duì)每個(gè)服務(wù)節(jié)點(diǎn)進(jìn)行“最優(yōu)”判斷,確定向用戶提供服務(wù)的cache的物理位置。SLB主要負(fù) 責(zé)節(jié)點(diǎn)內(nèi)部的設(shè)備負(fù)載均衡

運(yùn)營(yíng)管理系統(tǒng):

分為運(yùn)營(yíng)管理和網(wǎng)絡(luò)管理子系統(tǒng),負(fù)責(zé)處理業(yè)務(wù)層面的與外界系統(tǒng)交互所必須的收集、整理、交付工作,包含客戶管理、產(chǎn)品管理、計(jì)費(fèi)管理、統(tǒng)計(jì)分析等功能。

負(fù)責(zé)為用戶提供內(nèi)容服務(wù)的cache設(shè)備應(yīng)部署在物理上的網(wǎng)絡(luò)邊緣位置,即CDN邊緣層。CDN系統(tǒng)中負(fù)責(zé)全局性管理和 控制的設(shè)備組成中心層(二級(jí)緩存),中心層同時(shí)保存著最多的內(nèi)容副本,當(dāng)邊緣層設(shè)備未命中時(shí),會(huì)向中心層請(qǐng)求,如果在中心層仍未命中,則需要中心層向源站 回源(如果是流媒體,代價(jià)很大)。

CDN骨干點(diǎn)和CDN POP點(diǎn)在功能上不同,中心和區(qū)域節(jié)點(diǎn)一般稱為骨干點(diǎn),主要作為內(nèi)容分發(fā)和邊緣未命中時(shí)的服務(wù)點(diǎn);邊緣節(jié)點(diǎn)又被稱為POP(point of presence)節(jié)點(diǎn),CDN POP點(diǎn)主要作為直接向用戶提供服務(wù)的節(jié)點(diǎn)。

應(yīng)用協(xié)議加速:

企業(yè)應(yīng)用加速主要是動(dòng)態(tài)加速和SSL加速。

廣域網(wǎng)應(yīng)用加速:

SSL應(yīng)用加速:由于需要大量的加密解密運(yùn)算,SSL應(yīng)用對(duì)服務(wù)器端的資源消耗是非常巨大的。CDN提供SSL應(yīng)用加速后,由CDN的專用SSL加速硬件來完成加密解密運(yùn)算工作。

網(wǎng)頁壓縮:HTTP1.1提出對(duì)網(wǎng)頁壓縮的支持。在服務(wù)器端可以先對(duì)網(wǎng)頁數(shù)據(jù)進(jìn)行壓縮,然后將壓縮后的文件提供給訪問用戶,最后在用戶瀏覽器端解壓顯示(但要衡量加解壓時(shí)間)。


總結(jié)

以上是生活随笔為你收集整理的CDN如何实现,关键技术是什么?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。