CDN知識詳解
全稱:Content Delivery Network或Content Ddistribute Network,即內(nèi)容分發(fā)網(wǎng)絡(luò),CDN是構(gòu)建在網(wǎng)絡(luò)之上的內(nèi)容分發(fā)網(wǎng)絡(luò)嫂易,依靠部署在各地的邊緣服務(wù)器耸采,通過中心平臺的負(fù)載均衡檀葛、內(nèi)容分發(fā)啡莉、調(diào)度等功能模塊,使用戶就近獲取所需內(nèi)容呢堰,降低網(wǎng)絡(luò)擁塞抄瑟,提高用戶訪問響應(yīng)速度和命中率。CDN的關(guān)鍵技術(shù)主要有內(nèi)容存儲和分發(fā)技術(shù)枉疼。
基本原理:
CDN的基本原理是廣泛采用各種緩存服務(wù)器锐借,將這些緩存服務(wù)器分布到用戶訪問相對集中的地區(qū)或網(wǎng)絡(luò)中,在用戶訪問網(wǎng)站時往衷,利用全局負(fù)載技術(shù)將用戶的訪問指向距離最近的工作正常的緩存服務(wù)器上钞翔,由緩存服務(wù)器直接響應(yīng)用戶請求。
基本思路:
基本思路是盡可能避開互聯(lián)網(wǎng)上有可能影響數(shù)據(jù)傳輸速度和穩(wěn)定性的瓶頸和環(huán)節(jié)席舍,使內(nèi)容傳輸?shù)母觳冀巍⒏€(wěn)定。通過在網(wǎng)絡(luò)各處放置節(jié)點(diǎn)服務(wù)器所構(gòu)成的在現(xiàn)有的互聯(lián)網(wǎng)基礎(chǔ)之上的一層智能虛擬網(wǎng)絡(luò)来颤,CDN系統(tǒng)能夠?qū)崟r地根據(jù)網(wǎng)絡(luò)流量和各節(jié)點(diǎn)的連接汰扭、負(fù)載狀況以及到用戶的距離和響應(yīng)時間等綜合信息將用戶的請求重新導(dǎo)向離用戶最近的服務(wù)節(jié)點(diǎn)上。其目的是使用戶可就近取得所需內(nèi)容福铅,解決 Internet網(wǎng)絡(luò)擁擠的狀況萝毛,提高用戶訪問網(wǎng)站的響應(yīng)速度。
服務(wù)模式:
內(nèi)容分發(fā)網(wǎng)絡(luò)(CDN)是一種新型網(wǎng)絡(luò)構(gòu)建方式滑黔,它是為能在傳統(tǒng)的IP網(wǎng)發(fā)布寬帶豐富媒體而特別優(yōu)化的網(wǎng)絡(luò)覆蓋層笆包;而從廣義的角度,CDN代表了一種基于質(zhì)量與秩序的網(wǎng)絡(luò)服務(wù)模式略荡。簡單地說庵佣,內(nèi)容分發(fā)網(wǎng)絡(luò)(CDN)是一個經(jīng)策略性部署的整體系統(tǒng),包括分布式存儲汛兜、負(fù)載均衡巴粪、網(wǎng)絡(luò)請求的重定向和內(nèi)容管理4個要件,而內(nèi)容管理和全局的網(wǎng)絡(luò)流量管理(Traffic Management)是CDN的核心所在。通過用戶就近性和服務(wù)器負(fù)載的判斷肛根,CDN確保內(nèi)容以一種極為高效的方式為用戶的請求提供服務(wù)辫塌。總的來說派哲,內(nèi)容服務(wù)基于緩存服務(wù)器臼氨,也稱作代理緩存(Surrogate),它位于網(wǎng)絡(luò)的邊緣狮辽,距用戶僅有"一跳"(Single Hop)之遙。同時巢寡,代理緩存是內(nèi)容提供商源服務(wù)器(通常位于CDN服務(wù)提供商的數(shù)據(jù)中心)的一個透明鏡像喉脖。這樣的架構(gòu)使得CDN服務(wù)提供商能夠代表他們客戶,即內(nèi)容供應(yīng)商抑月,向最終用戶提供盡可能好的體驗(yàn)树叽,而這些用戶是不能容忍請求響應(yīng)時間有任何延遲的。
應(yīng)用對比:
首先簡單表述一下傳統(tǒng)的動態(tài)系統(tǒng)的訪問方法:如上圖圖示(一)表述的是用戶的請求過程谦絮,用戶經(jīng)過網(wǎng)絡(luò)中的路由A题诵、B的傳輸,最終將發(fā)送的請求交于動態(tài)系統(tǒng)來處理层皱,但是由于IP網(wǎng)絡(luò)本身的“盡力而為的原則”性锭、網(wǎng)絡(luò)鏈路中復(fù)雜的環(huán)境及硬件的不可靠性的確實(shí)存在,致使用戶要出現(xiàn)重復(fù)發(fā)送的請求的現(xiàn)狀叫胖,所以最終導(dǎo)致用戶的請求在提交的過程中出現(xiàn)等待草冈、數(shù)據(jù)加載時間過長的一些現(xiàn)象的普遍存在,這些在線提交式系統(tǒng)的緩慢直接地影響到辦公人員的工作效率瓮增,這也是制約著很多大型企業(yè)在cdn應(yīng)用協(xié)同辦公OA怎棱、ERP、SAP等信息化建設(shè)中绷跑,出現(xiàn)最多的問題拳恋。而CDN分發(fā)解決方案解決了與靜態(tài)網(wǎng)站相關(guān)的性能和可靠性問題,而在當(dāng)今在線業(yè)務(wù)體驗(yàn)中砸捏,與分發(fā)靜態(tài)和動態(tài)元素和應(yīng)用相關(guān)的獨(dú)特挑戰(zhàn)谬运,則由速網(wǎng)的動態(tài)網(wǎng)站加速(動態(tài)網(wǎng)站加速)來解決。
關(guān)鍵技術(shù):
(1)內(nèi)容發(fā)布:它借助于建立索引垦藏、緩存吩谦、流分裂、組播(Multicast)等技術(shù)膝藕,將內(nèi)容發(fā)布或投遞到距離用戶最近的遠(yuǎn)程服務(wù)點(diǎn)(POP)處式廷;
(2)內(nèi)容路由:它是整體性的網(wǎng)絡(luò)負(fù)載均衡技術(shù),通過內(nèi)容路由器中的重定向(DNS)機(jī)制芭挽,在多個遠(yuǎn)程POP上均衡用戶的請求滑废,以使用戶請求得到最近內(nèi)容源的響應(yīng)蝗肪;
(3)內(nèi)容交換:它根據(jù)內(nèi)容的可用性、服務(wù)器的可用性以及用戶的背景蠕趁,在POP的緩存服務(wù)器上薛闪,利用應(yīng)用層交換、流分裂俺陋、重定向(ICP豁延、WCCP)等技術(shù),智能地平衡負(fù)載流量腊状;
(4)性能管理:它通過內(nèi)部和外部監(jiān)控系統(tǒng)诱咏,獲取網(wǎng)絡(luò)部件的狀況信息,測量內(nèi)容發(fā)布的端到端性能(如包丟失缴挖、延時袋狞、平均帶寬、啟動時間映屋、幀速率等)苟鸯,保證網(wǎng)絡(luò)處于最佳的運(yùn)行狀態(tài)。
主要特點(diǎn):
1棚点、本地Cache加速 提高了企業(yè)站點(diǎn)(尤其含有大量圖片和靜態(tài)頁面站點(diǎn))的訪問速度早处,并大大提高以上性質(zhì)站點(diǎn)的穩(wěn)定性。
2瘫析、鏡像服務(wù) 消除了不同運(yùn)營商之間互聯(lián)的瓶頸造成的影響陕赃,實(shí)現(xiàn)了跨運(yùn)營商的網(wǎng)絡(luò)加速,保證不同網(wǎng)絡(luò)中的用戶都能得到良好的訪問質(zhì)量颁股。
3么库、遠(yuǎn)程加速?遠(yuǎn)程訪問用戶根據(jù)DNS負(fù)載均衡技術(shù)智能自動選擇Cache服務(wù)器,選擇最快的Cache服務(wù)器甘有,加快遠(yuǎn)程訪問的速度诉儒。
4、帶寬優(yōu)化 自動生成服務(wù)器的遠(yuǎn)程Mirror(鏡像)cache服務(wù)器亏掀,遠(yuǎn)程用戶訪問時從cache服務(wù)器上讀取數(shù)據(jù)忱反,減少遠(yuǎn)程訪問的帶寬、分擔(dān)網(wǎng)絡(luò)流量滤愕、減輕原站點(diǎn)WEB服務(wù)器負(fù)載等功能温算。
5、集群抗攻擊 廣泛分布的CDN節(jié)點(diǎn)加上節(jié)點(diǎn)之間的智能冗余機(jī)制间影,可以有效地預(yù)防黑客入侵以及降低各種D.D.o.S攻擊對網(wǎng)站的影響注竿,同時保證較好的服務(wù)質(zhì)量 。
產(chǎn)品優(yōu)勢:
CDN能幾乎涵蓋國內(nèi)所有線路。而在可靠性上巩割, CDN 在結(jié)構(gòu)上實(shí)現(xiàn)了多點(diǎn)的冗余裙顽,即使某一個節(jié)點(diǎn)由于意外發(fā)生故障,對網(wǎng)站的訪問能夠被自動導(dǎo)向其他的健康節(jié)點(diǎn)進(jìn)行響應(yīng)宣谈。CDN能輕松實(shí)現(xiàn)網(wǎng)站的全國鋪設(shè)愈犹,不必考慮服務(wù)器的投入與托管、不必考慮新增帶寬的成本闻丑、不必考慮多臺服務(wù)器的鏡像同步漩怎、不必考慮更多的管理維護(hù)技術(shù)人員。
CDN服務(wù)運(yùn)營商:
初期我國CDN市場發(fā)展緩慢嗦嗡,2006年后市場陡然升溫勋锤,國內(nèi)較為有名的CDN服務(wù)商有思必達(dá)、藍(lán)汛等酸钦,但整體CDN市場規(guī)模怪得、運(yùn)營成熟度咱枉、服務(wù)能力和技術(shù)研發(fā)均較國外存在一定的差距卑硫。目前我們存在以下類型的CDN服務(wù)商:
內(nèi)容存儲技術(shù):
CDN需要考慮兩個方面的內(nèi)容存儲問題,一個是內(nèi)容源的集中存儲蚕断,另一個是內(nèi)容在Cache節(jié)點(diǎn)中的分布式存儲欢伏。由于內(nèi)容的規(guī)模比較大,內(nèi)容的吞吐量較大亿乳,因此硝拧,通常采用海量存儲架構(gòu)。目前常用的存儲技術(shù)主要有直連附加存儲(DAS)葛假、網(wǎng)絡(luò)附加存儲(NAS)和存儲區(qū)域網(wǎng)(SAN)障陶。DAS是直接連接在各種服務(wù)器或客戶端擴(kuò)展接口下的數(shù)據(jù)存儲設(shè)備,完全以服務(wù)器為中心聊训,寄生在相應(yīng)服務(wù)器或客戶端上抱究,本身是硬件的堆疊,不帶有任何存儲操作系統(tǒng)带斑,網(wǎng)絡(luò)客戶端通過訪問服務(wù)器瀏覽存儲設(shè)備的信息鼓寺。NAS可以提供高速的數(shù)據(jù)I/O訪問,降低了媒體服務(wù)器由于相應(yīng)數(shù)據(jù)訪問請求而承擔(dān)的CPU負(fù)荷勋磕,使媒體服務(wù)器性能得到大幅提升妈候,NAS把數(shù)據(jù)放在同一個服務(wù)器里讓不同用戶共享。SAN允許服務(wù)器在共享存儲裝置的同時仍能高速傳送數(shù)據(jù)挂滓,共享式區(qū)域網(wǎng)絡(luò)通過高速連接將服務(wù)器與存儲介質(zhì)相互連通苦银,具有可擴(kuò)展性高、可用性高和容錯能力強(qiáng)的優(yōu)點(diǎn),可以輕松升級墓毒,易于管理吓揪,有助于改善整個系統(tǒng)的成本狀況。HFMS是針對流媒體內(nèi)容海量存儲開發(fā)的一種文件存儲技術(shù)所计,針對傳統(tǒng)的采用直接文件復(fù)制帶來的種種弊端柠辞,采用Segment技術(shù),以流廣播形式傳送新復(fù)制的片段主胧,到終端用戶處的總延遲在50ms以內(nèi)叭首,用戶不容易察覺到。在極端情況下踪栋,當(dāng)所有用戶都在同一時間觀看同一熱門節(jié)目的片段時焙格,可同時以廣播形式播放。HFMS實(shí)現(xiàn)了流媒體內(nèi)容的分段存儲和服務(wù)夷都,提升了系統(tǒng)服務(wù)性能眷唉。對于VOD內(nèi)容的存儲,可以根據(jù)網(wǎng)絡(luò)規(guī)模囤官,采用不同的存儲方案冬阳。對于小規(guī)模網(wǎng)絡(luò),可以采用DAS党饮;中等規(guī)模的網(wǎng)絡(luò)采用NAS肝陪;對于大規(guī)模的網(wǎng)絡(luò)可以采用SAN存儲方案。根據(jù)數(shù)據(jù)量大和實(shí)時性強(qiáng)的特點(diǎn)刑顺,建議采用SAN和HFMS結(jié)合存儲技術(shù)進(jìn)一步優(yōu)化流媒體數(shù)據(jù)存儲氯窍。
內(nèi)容分發(fā)技術(shù):
內(nèi)容分發(fā)技術(shù)是通過網(wǎng)絡(luò)的構(gòu)建減小IP骨干網(wǎng)絡(luò)的傳輸壓力,將連接到IP網(wǎng)絡(luò)上的內(nèi)容迅速分發(fā)到用戶終端蹲堂。CDN主要由初始服務(wù)器狼讨、分布在邊緣的緩存服務(wù)器、重定向DNS服務(wù)器和內(nèi)容交換服務(wù)器組成柒竞。初始服務(wù)器負(fù)責(zé)生成服務(wù)器信息內(nèi)容政供;緩存服務(wù)器負(fù)責(zé)存儲初始服務(wù)器的部分或全部信息內(nèi)容;重定向DNS服務(wù)器向用戶提供最近的服務(wù)器IP地址能犯,減輕骨干網(wǎng)的壓力鲫骗;內(nèi)容交換服務(wù)器完成各緩存服務(wù)器之間的負(fù)載均衡功能;內(nèi)容管理服務(wù)器負(fù)責(zé)整個網(wǎng)絡(luò)各緩存服務(wù)器中存儲的內(nèi)容的管理踩晶,為各緩存服務(wù)器制定相應(yīng)的緩存策略执泰,以提高緩存服務(wù)器的服務(wù)質(zhì)量。
①分段分發(fā)技術(shù)
流媒體對邊緣內(nèi)容的完整性沒有要求渡蜻,節(jié)點(diǎn)只需存儲少量的節(jié)目或節(jié)目片段即可實(shí)時推送內(nèi)容术吝,為用戶提供完整的服務(wù)计济。當(dāng)用戶點(diǎn)播的內(nèi)容只有部分片段或沒有時,系統(tǒng)將采用分發(fā)技術(shù)進(jìn)行內(nèi)容的快速分發(fā)排苍。
②部分分發(fā)技術(shù)
部分分發(fā)技術(shù)可提升邊緣系統(tǒng)的命中率沦寂,如果對10%的內(nèi)容采用全復(fù)制,20%的內(nèi)容采用50%復(fù)制淘衙,50%的內(nèi)容采用10%復(fù)制传藏,那么,系統(tǒng)可以實(shí)現(xiàn)95%以上的命中率彤守,大大降低骨干網(wǎng)的負(fù)荷毯侦,具有優(yōu)越的分發(fā)性能。
負(fù)載均衡技術(shù):
負(fù)載均衡是整個CDN的核心具垫,負(fù)載均衡的準(zhǔn)確性和效率直接決定了整個CDN的效率和性能侈离。負(fù)載均衡技術(shù)將網(wǎng)絡(luò)的流量盡可能均勻地分配到幾個能完成相同任務(wù)的服務(wù)器或網(wǎng)絡(luò)節(jié)點(diǎn)上進(jìn)行處理,避免部分網(wǎng)絡(luò)節(jié)點(diǎn)過載而另一部分節(jié)點(diǎn)空閑的不利狀況筝蚕,既可以提高網(wǎng)絡(luò)流量卦碾,又可以提高網(wǎng)絡(luò)的整體性能。
實(shí)際場景需求結(jié)合學(xué)習(xí)CDN內(nèi)容分發(fā)服務(wù)
實(shí)際使用CDN的目的:
解決因分布起宽、帶寬洲胖、服務(wù)器性能帶來的訪問延遲問題,適用于站點(diǎn)加速燎含、點(diǎn)播宾濒、直播等場景腿短。使用戶可就近取得所需內(nèi)容屏箍,解決 Internet網(wǎng)絡(luò)擁擠的狀況,提高用戶訪問網(wǎng)站的響應(yīng)速度和成功率橘忱「翱控制時延無疑是現(xiàn)代信息科技的重要指標(biāo),CDN的意圖就是盡可能的減少資源在轉(zhuǎn)發(fā)钝诚、傳輸颖御、鏈路抖動等情況下順利保障信息的連貫性。
使用CDN后帶來的優(yōu)勢:
如果你在經(jīng)營一家網(wǎng)站凝颇,那你應(yīng)該知道幾點(diǎn)因素是你制勝的關(guān)鍵:
內(nèi)容有吸引力
訪問速度快
支持頻繁的用戶互動
可以在各處瀏覽無障礙
另外:你的網(wǎng)站必須能在復(fù)雜的網(wǎng)絡(luò)環(huán)境下運(yùn)行潘拱,考慮到全球的用戶訪問體驗(yàn)。你的網(wǎng)站也會隨著使用越來越多的對象(如圖片拧略、幀芦岂、CSS及APIs)和形形色色的動作(分享、跟蹤)而系統(tǒng)逐漸龐大垫蛆。所以禽最,系統(tǒng)變慢帶來用戶的流失腺怯。
Google及其它網(wǎng)站的研究表明,一個網(wǎng)站每慢一秒鐘川无,就會丟失許多訪客呛占,甚至這些訪客永遠(yuǎn)不會再次光顧這些網(wǎng)站∨城鳎可以想像晾虑,如果網(wǎng)站是你的盈利渠道或是品牌窗口,那么網(wǎng)站速度慢將是一個致命的打擊仅叫。
這就是你使用CDN的第一個也是最重要的原因:加速網(wǎng)站的訪問
除此之外走贪,CDN還有一些作用:
1. 為了實(shí)現(xiàn)跨運(yùn)營商、跨地域的全網(wǎng)覆蓋
互聯(lián)不互通惑芭、區(qū)域ISP地域局限坠狡、出口帶寬受限制等種種因素都造成了網(wǎng)站的區(qū)域性無法訪問。CDN加速可以覆蓋全球的線路遂跟,通過和運(yùn)營商合作逃沿,部署IDC資源,在全國骨干節(jié)點(diǎn)商幻锁,合理部署CDN邊緣分發(fā)存儲節(jié)點(diǎn)凯亮,充分利用帶寬資源,平衡源站流量哄尔。
2. 為了保障你的網(wǎng)站安全
CDN的負(fù)載均衡和分布式存儲技術(shù)假消,可以加強(qiáng)網(wǎng)站的可靠性,相當(dāng)無無形中給你的網(wǎng)站添加了一把保護(hù)傘岭接,應(yīng)對絕大部分的互聯(lián)網(wǎng)攻擊事件富拗。防攻擊系統(tǒng)也能避免網(wǎng)站遭到惡意攻擊。
3. 為了異地備援
當(dāng)某個服務(wù)器發(fā)生意外故障時鸣戴,系統(tǒng)將會調(diào)用其他臨近的健康服務(wù)器節(jié)點(diǎn)進(jìn)行服務(wù)啃沪,進(jìn)而提供接近100%的可靠性,這就讓你的網(wǎng)站可以做到永不宕機(jī)窄锅。
4. 為了節(jié)約成本投入
使用CDN加速可以實(shí)現(xiàn)網(wǎng)站的全國鋪設(shè)创千,你根據(jù)不用考慮購買服務(wù)器與后續(xù)的托管運(yùn)維,服務(wù)器之間鏡像同步入偷,也不用為了管理維護(hù)技術(shù)人員而煩惱追驴,節(jié)省了人力、精力和財力疏之。
5. 為了讓你更專注業(yè)務(wù)本身
CDN加速廠商一般都會提供一站式服務(wù)殿雪,業(yè)務(wù)不僅限于CDN,還有配套的云存儲体捏、大數(shù)據(jù)服務(wù)冠摄、視頻云服務(wù)等糯崎,而且一般會提供7x24運(yùn)維監(jiān)控支持,保證網(wǎng)絡(luò)隨時暢通河泳,你可以放心使用沃呢。并且將更多的精力投入到發(fā)展自身的核心業(yè)務(wù)之上。
引入一個詞:控制時延
無疑是現(xiàn)代信息科技的重要指標(biāo)拆挥,CDN的意圖就是盡可能的減少資源在轉(zhuǎn)發(fā)薄霜、傳輸、鏈路抖動等情況下順利保障信息的連貫性
根據(jù)論文《WAITING TIMES IN QUALITY OF EXPERIENCE FOR WEB BASED SERVICES》中提出的: 其指出基于人腦在等待不同時長的信息時纸兔,產(chǎn)生的不同意識行為惰瓜,進(jìn)而對信息獲取產(chǎn)生的差別感官體驗(yàn)。
感知的持續(xù)時間 VS 客觀持續(xù)時間
根據(jù)研究發(fā)現(xiàn):當(dāng)人們獲得Voice這類聲音訊息時汉矿,好感度隨時間流逝下降的最為迅速崎坊,僅需16分鐘“評估意見等級”下降了70%,可見音像資源受緩沖時間的影響可見一斑
?0.1 s: 用戶幾乎感覺不到系統(tǒng)是否不連貫性洲拇。
?1.0 s: 用戶明顯注意到時延的發(fā)生奈揍,但是在該時間內(nèi)思維依然是連貫的。
?10 s: 超過該時間的時延會使用戶失去等待意愿赋续。 控制時延無疑是現(xiàn)代信息科技的重要指標(biāo)男翰,CDN的意圖就是盡可能的減少資源在轉(zhuǎn)發(fā)、傳輸纽乱、鏈路抖動等情況下順利保障信息的連貫性蛾绎。
通俗點(diǎn)說就是在網(wǎng)速一定的前提下,CDN就像網(wǎng)絡(luò)中快遞員小哥
而且CDN這個快遞員很是聰明 TA不是在用蠻力瞎跑鸦列、亂撞
TA還承建了很多家快遞點(diǎn)租冠,就近快遞(緩存)
TA善于優(yōu)化快遞路徑(調(diào)度) 還會對包裹進(jìn)行更合理的重新打包(協(xié)議優(yōu)化)
無論用戶在世界任何角落,只要連接網(wǎng)絡(luò)敛熬,CDN服務(wù)就如同把源站搬到用戶面前一樣肺稀,整個世界第股,觸手可及应民!
CDN就是扮演者護(hù)航者和加速者的角色,更快準(zhǔn)狠的觸發(fā)信息和觸達(dá)每一個用戶夕吻,帶來更為極致的使用體驗(yàn)诲锹。
基礎(chǔ)架構(gòu):
最簡單的CDN網(wǎng)絡(luò)由一個DNS服務(wù)器和幾臺緩存服務(wù)器組成:
當(dāng)用戶點(diǎn)擊網(wǎng)站頁面上的內(nèi)容URL,經(jīng)過本地DNS系統(tǒng)解析涉馅,DNS系統(tǒng)會最終將域名的解析權(quán)交給CNAME指向的CDN專用DNS服務(wù)器归园。
CDN的DNS服務(wù)器將CDN的全局負(fù)載均衡設(shè)備IP地址返回用戶。
用戶向CDN的全局負(fù)載均衡設(shè)備發(fā)起內(nèi)容URL訪問請求稚矿。
CDN全局負(fù)載均衡設(shè)備根據(jù)用戶IP地址庸诱,以及用戶請求的內(nèi)容URL捻浦,選擇一臺用戶所屬區(qū)域的區(qū)域負(fù)載均衡設(shè)備,告訴用戶向這臺設(shè)備發(fā)起請求桥爽。
區(qū)域負(fù)載均衡設(shè)備會為用戶選擇一臺合適的緩存服務(wù)器提供服務(wù),選擇的依據(jù)包括:根據(jù)用戶IP地址,判斷哪一臺服務(wù)器距用戶最近轰传;根據(jù)用戶所請求的URL中攜帶的內(nèi)容名稱纱昧,判斷哪一臺服務(wù)器上有用戶所需內(nèi)容;查詢各個服務(wù)器當(dāng)前的負(fù)載情況缀去,判斷哪一臺服務(wù)器尚有服務(wù)能力侣灶。基于以上這些條件的綜合分析之后缕碎,區(qū)域負(fù)載均衡設(shè)備會向全局負(fù)載均衡設(shè)備返回一臺緩存服務(wù)器的IP地址褥影。
全局負(fù)載均衡設(shè)備把服務(wù)器的IP地址返回給用戶。
用戶向緩存服務(wù)器發(fā)起請求咏雌,緩存服務(wù)器響應(yīng)用戶請求伪阶,將用戶所需內(nèi)容傳送到用戶終端。如果這臺緩存服務(wù)器上并沒有用戶想要的內(nèi)容处嫌,而區(qū)域均衡設(shè)備依然將它分配給了用戶栅贴,那么這臺服務(wù)器就要向它的上一級緩存服務(wù)器請求內(nèi)容,直至追溯到網(wǎng)站的源服務(wù)器將內(nèi)容拉到本地熏迹。
服務(wù)模式:
簡單地說檐薯,CDN是一個經(jīng)策略性部署的整體系統(tǒng),包括分布式存儲注暗、負(fù)載均衡坛缕、網(wǎng)絡(luò)請求的重定向和內(nèi)容管理4個要件,而內(nèi)容管理和全局的網(wǎng)絡(luò)流量管理(Traffic Management)是CDN的核心所在捆昏。
通過用戶就近性和服務(wù)器負(fù)載的判斷赚楚,CDN確保內(nèi)容以一種極為高效的方式為用戶的請求提供服務(wù)。
舉例說明:
國內(nèi)訪問量較高的網(wǎng)站骗卜、直播宠页、視頻平臺,均使用CDN網(wǎng)絡(luò)加速技術(shù)寇仓,雖然網(wǎng)站的訪問巨大举户,但無論在什么地方訪問都會感覺速度很快。而一般的網(wǎng)站如果服務(wù)器在網(wǎng)通遍烦,電信用戶訪問很慢俭嘁,如果服務(wù)器在電信,網(wǎng)通用戶訪問又很慢服猪。
通過在現(xiàn)有的Internet中增加一層新的網(wǎng)絡(luò)架構(gòu)供填,將網(wǎng)站的內(nèi)容發(fā)布到最接近用戶的cache服務(wù)器內(nèi)拐云,通過DNS負(fù)載均衡的技術(shù),判斷用戶來源就近訪問cache服務(wù)器取得所需的內(nèi)容近她,解決Internet網(wǎng)絡(luò)擁塞狀況慨丐,提高用戶訪問網(wǎng)站的響應(yīng)速度,如同提供了多個分布在各地的加速器泄私,以達(dá)到快速房揭、可冗余的為多個網(wǎng)站加速的目的。
CDN服務(wù)最初用于確鄙味耍快速可靠地分發(fā)靜態(tài)內(nèi)容捅暴,這些內(nèi)容可以緩存,最適合在網(wǎng)速龐大的網(wǎng)絡(luò)中存儲和分發(fā)咧纠,該網(wǎng)絡(luò)在幾十多個國家的十幾個網(wǎng)絡(luò)中的覆蓋CDN網(wǎng)絡(luò)服務(wù)器蓬痒。由于動態(tài)內(nèi)容必須通過互聯(lián)網(wǎng)來傳輸,因此要提供快速的網(wǎng)絡(luò)體驗(yàn)漆羔。如今的CDN可謂是大文件梧奢、小文件、點(diǎn)播演痒、直播亲轨、動靜皆宜!
主要特點(diǎn):
1鸟顺、本地Cache加速惦蚊,提高了企業(yè)站點(diǎn)(尤其含有大量圖片和靜態(tài)頁面站點(diǎn))的訪問速度,并大大提高以上性質(zhì)站點(diǎn)的穩(wěn)定性
2讯嫂、鏡像服務(wù)消除了不同運(yùn)營商之間互聯(lián)的瓶頸造成的影響蹦锋,實(shí)現(xiàn)了跨運(yùn)營商的網(wǎng)絡(luò)加速,保證不同網(wǎng)絡(luò)中的用戶都能得到良好的訪問質(zhì)量欧芽。
3莉掂、遠(yuǎn)程加速 遠(yuǎn)程訪問用戶根據(jù)DNS負(fù)載均衡技術(shù) 智能自動選擇Cache服務(wù)器,選擇最快的Cache服務(wù)器千扔,加快遠(yuǎn)程訪問的速度
4憎妙、帶寬優(yōu)化 自動生成服務(wù)器的遠(yuǎn)程Mirror(鏡像)cache服務(wù)器,遠(yuǎn)程用戶訪問時從cache服務(wù)器上讀取數(shù)據(jù)昏鹃,減少遠(yuǎn)程訪問的帶寬尚氛、分擔(dān)網(wǎng)絡(luò)流量、減輕原站點(diǎn)WEB服務(wù)器負(fù)載等功能洞渤。
5、集群抗攻擊 廣泛分布的CDN節(jié)點(diǎn)加上節(jié)點(diǎn)之間的智能冗余機(jī)制属瓣,可以有效地預(yù)防黑客入侵以及降低各種D.D.o.S攻擊對網(wǎng)站的影響载迄,同時保證較好的服務(wù)質(zhì)量 讯柔。
關(guān)鍵技術(shù):
內(nèi)容發(fā)布:它借助于建立索引、緩存护昧、流分裂魂迄、組播(Multicast)等技術(shù)
內(nèi)容路由:它是整體性的網(wǎng)絡(luò)負(fù)載均衡技術(shù),通過內(nèi)容路由器中的重定向(DNS)機(jī)制惋耙,在多個遠(yuǎn)程POP上均衡用戶的請求捣炬,以使用戶請求得到最近內(nèi)容源的響應(yīng);
內(nèi)容交換:它根據(jù)內(nèi)容的可用性绽榛、服務(wù)器的可用性以及用戶的背景湿酸,在POP的緩存服務(wù)器上,利用應(yīng)用層交換灭美、流分裂推溃、重定向(ICP、WCCP)等技術(shù)届腐,智能地平衡負(fù)載流量铁坎;
性能管理:它通過內(nèi)部和外部監(jiān)控系統(tǒng),獲取網(wǎng)絡(luò)部件的狀況信息犁苏,測量內(nèi)容發(fā)布的端到端性能(如包丟失硬萍、延時、平均帶寬围详、啟動時間襟铭、幀速率等),保證網(wǎng)絡(luò)處于最佳的運(yùn)行狀態(tài)短曾。
適用范圍:
一般來說以資訊寒砖、內(nèi)容等為主的網(wǎng)站,具有一定訪問體量的網(wǎng)站
例如資訊網(wǎng)站嫉拐、政府機(jī)構(gòu)網(wǎng)站哩都、行業(yè)平臺網(wǎng)站、商城等以動態(tài)內(nèi)容為主的網(wǎng)站
例如論壇婉徘、博客漠嵌、交友、SNS盖呼、網(wǎng)絡(luò)游戲儒鹿、搜索/查詢、金融等几晤。提供http下載的網(wǎng)站
例如軟件開發(fā)商约炎、內(nèi)容服務(wù)提供商、網(wǎng)絡(luò)游戲運(yùn)行商、源碼下載等有大量流媒體點(diǎn)播應(yīng)用的網(wǎng)站
例如:擁有視頻點(diǎn)播平臺的電信運(yùn)營商圾浅、內(nèi)容服務(wù)提供商掠手、體育頻道、寬頻頻道狸捕、在線教育喷鸽、視頻博客等
Q & A
1.CDN加速是對網(wǎng)站所在服務(wù)器加速,還是對其域名加速灸拍?
CDN是只對網(wǎng)站的某一個具體的域名加速做祝。如果同一個網(wǎng)站有多個域名,則訪客訪問加入CDN的域名獲得加速效果鸡岗,訪問未加入CDN的域名混槐,或者直接訪問IP地址,則無法獲得CDN效果纤房。
2.CDN和鏡像站點(diǎn)比較有何優(yōu)勢纵隔?
CDN對網(wǎng)站的訪客完全透明,不需要訪客手動選擇要訪問的鏡像站點(diǎn)炮姨,保證了網(wǎng)站對訪客的友好性捌刮。
CDN對每個節(jié)點(diǎn)都有可用性檢查,不合格的節(jié)點(diǎn)會第一時間剔出舒岸,從而保證了極高的可用率绅作,而鏡像站點(diǎn)無法實(shí)現(xiàn)這一點(diǎn)。
CDN部署簡單蛾派,對原站基本不做任何改動即可生效俄认。
3.CDN和雙線機(jī)房相比有何優(yōu)勢?
常見的雙線機(jī)房只能解決網(wǎng)通和電信互相訪問慢的問題洪乍,其它ISP(譬如教育網(wǎng)眯杏,移動網(wǎng),鐵通)互通的問題還是沒得到解決壳澳。
而CDN是訪問者就近取數(shù)據(jù)岂贩,而CDN的節(jié)點(diǎn)遍布各ISP,從而保證了網(wǎng)站到任意ISP的訪問速度巷波。另外CDN因?yàn)槠淞髁糠至鞯礁鞴?jié)點(diǎn)的原理萎津,天然獲得抵抗網(wǎng)絡(luò)攻擊的能力。
4.CDN使用后抹镊,原來的網(wǎng)站是否需要做修改锉屈,做什么修改?
一般而言垮耳,網(wǎng)站無需任何修改即可使用CDN獲得加速效果颈渊。只是對需要判斷訪客IP程序,才需要做少量修改。
5.為什么我的網(wǎng)站更新后儡炼,通過CDN后看到網(wǎng)頁還是舊網(wǎng)頁妓湘,如何解決查蓉?
由于CDN采用各節(jié)點(diǎn)緩存的機(jī)制乌询,網(wǎng)站的靜態(tài)網(wǎng)頁和圖片修改后,如果CDN緩存沒有做相應(yīng)更新豌研,則看到的還是舊的網(wǎng)頁妹田。
為了解決這個問題,CDN管理面板中提供了URL推送服務(wù)鹃共,來通知CDN各節(jié)點(diǎn)刷新自己的緩存鬼佣。
在URL推送地址欄中,輸入具體的網(wǎng)址或者圖片地址霜浴,則各節(jié)點(diǎn)中的緩存內(nèi)容即被統(tǒng)一刪除晶衷,并且當(dāng)即生效。
如果需要推送的網(wǎng)址和圖片太多阴孟,可以選擇目錄推送晌纫,輸入?http://www.kkk.com/news?即可以對網(wǎng)站下news目錄下所有網(wǎng)頁和圖片進(jìn)行了刷新。
6.能不能讓CDN不緩存某些即時性要求很高的網(wǎng)頁和圖片永丝?
只需要使用動態(tài)頁面锹漱,asp,php慕嚷,jsp等動態(tài)技術(shù)做成的頁面不被CDN緩存哥牍,無需每次都要刷新『燃欤或者采用一個網(wǎng)站兩個域名嗅辣,一個啟用CDN,另外一個域名不用CDN挠说,對即時性要求高的頁面和圖片放在不用CDN的域名下澡谭。
7.網(wǎng)站新增了不少網(wǎng)頁和圖片,這些需要使用URL推送嗎纺涤?
后來增加的網(wǎng)頁和圖片译暂,不需要使用URL推送,因?yàn)樗鼈儽緛砭筒淮嬖诰彺嬷小?/i>
8.網(wǎng)站用CDN后撩炊,有些地區(qū)反映無法訪問了外永,怎么辦?
CDN啟用后拧咳,訪客不能訪問網(wǎng)站有很多種可能伯顶,可能是CDN的問題,也可能是源站點(diǎn)出現(xiàn)故障或者源站點(diǎn)被關(guān)閉,還可能是訪客自己所在的網(wǎng)絡(luò)出現(xiàn)問題祭衩,甚至我們實(shí)際故障排除中灶体,還出現(xiàn)過客戶自己計算機(jī)中毒,導(dǎo)致無法訪問網(wǎng)站掐暮。
9.哪些情況不適用于CDN?
此類極端狀況不建議您使用CDN服務(wù)
一次完整的CDN內(nèi)容轉(zhuǎn)發(fā)實(shí)例解析
CDN是如何工作的呢蝎抽?讓我們先看看沒有CDN服務(wù)時,一個網(wǎng)站是如何向用戶提供服務(wù)的路克。
????????傳統(tǒng)的未加緩存服務(wù)的訪問過程樟结,以便了解CDN緩存訪問方式與未加緩存訪問方式的差別:
由上圖可見,用戶訪問未使用CDN緩存網(wǎng)站的過程為:
1)精算、用戶向?yàn)g覽器提供要訪問的域名瓢宦;
2)、瀏覽器調(diào)用域名解析函數(shù)庫對域名進(jìn)行解析灰羽,以得到此域名對應(yīng)的IP地址驮履;
3)、瀏覽器使用所得到的IP地址廉嚼,域名的服務(wù)主機(jī)發(fā)出數(shù)據(jù)訪問請求玫镐;
4)、瀏覽器根據(jù)域名主機(jī)返回的數(shù)據(jù)顯示網(wǎng)頁的內(nèi)容前鹅。
通過以上四個步驟摘悴,瀏覽器完成從用戶處接收用戶要訪問的域名到從域名服務(wù)主機(jī)處獲取數(shù)據(jù)的整個過程。CDN網(wǎng)絡(luò)是在用戶和服務(wù)器之間增加Cache層舰绘,如何將用戶的請求引導(dǎo)到Cache上獲得源服務(wù)器的數(shù)據(jù)蹂喻,主要是通過接管DNS實(shí)現(xiàn),下面讓我們看看訪問使用CDN緩存后的網(wǎng)站的過程:
通過上圖捂寿,我們可以了解到口四,使用了CDN緩存后的網(wǎng)站的訪問過程變?yōu)椋?/p>
1)、用戶第一次向?yàn)g覽器提供要訪問的域名,瀏覽器調(diào)用local dns域名解析庫對域名進(jìn)行解析.
2)秦陋、local dns系統(tǒng)向cdn dns域名服務(wù)器請求進(jìn)行域名解析
3)蔓彩、由于cdn dns域名服務(wù)器對域名解析過程進(jìn)行了調(diào)整,所以解析函數(shù)庫一般得到的是該域名對應(yīng)的CNAME記錄驳概,返回給local dns系統(tǒng).
????????4)赤嚼、為了得到cname域名的IP地址,local dns系統(tǒng)對獲得的CNAME域名向 cdn dns調(diào)度系統(tǒng)(全局負(fù)載均衡DNS)請求進(jìn)行cname域名解析,獲取緩存服務(wù)器的ip.
????5)顺又、使用全局負(fù)載均衡DNS解析更卒,如根據(jù)用戶的地理位置信息解析對應(yīng)的IP地址,使得用戶能就近訪問稚照。此次解析得到CDN緩存服務(wù)器的IP地址蹂空,返回至local dns系統(tǒng).
????????6)俯萌、local dns系統(tǒng)將獲取的緩存服務(wù)器的ip返回給瀏覽器.
????????7)、瀏覽器根據(jù)IP向?qū)?yīng)的cdn緩存服務(wù)器發(fā)出www.a.com的域名訪問請求,通過緩存Cache服務(wù)器內(nèi)部專用DNS,解析得到此域名對應(yīng)的服務(wù)器實(shí)際IP地址上枕,再由緩存服務(wù)器向此實(shí)際IP地址提交訪問請求.緩存服務(wù)器從實(shí)際IP地址得得到訪問內(nèi)容以后咐熙,一方面在本地進(jìn)行保存,以備以后使用辨萍,另一方面把獲取的數(shù)據(jù)返回給客戶端棋恼,完成數(shù)據(jù)服務(wù)過程;
8)分瘦、瀏覽器得到由緩存服務(wù)器返回的數(shù)據(jù)以后顯示出來并完成整個瀏覽的數(shù)據(jù)請求過程蘸泻。
通過以上的分析我們可以得到琉苇,為了實(shí)現(xiàn)既要對普通用戶透明(即加入緩存以后用戶客戶端無需進(jìn)行任何設(shè)置嘲玫,直接使用被加速網(wǎng)站原有的域名即可訪問),又要在為指定的網(wǎng)站提供加速服務(wù)的同時降低對ICP的影響并扇,只要修改整個訪問過程中的域名解析部分去团,以實(shí)現(xiàn)透明的加速服務(wù).DNS服務(wù)器根據(jù)用戶IP地址,將域名解析成相應(yīng)節(jié)點(diǎn)的緩存服務(wù)器IP地址穷蛹,實(shí)現(xiàn)用戶就近訪問土陪。使用CDN服務(wù)的網(wǎng)站,只需將其域名解析權(quán)交給CDN的GSLB設(shè)備肴熏,將需要分發(fā)的內(nèi)容注入CDN鬼雀,就可以實(shí)現(xiàn)內(nèi)容加速了。
注:文章如有疑問或錯誤之處,請留言評論指出,必將學(xué)習(xí)之.