CDN
全稱:Content Delivery Network或Content Ddistribute Network,即內容分發網絡
基本思路:
儘量避開互聯網上有可能影響數據傳輸速度和穩定性的瓶頸和環節,使內容傳輸的更快、更穩定。經過在網絡各處放置節點服務器所構成的在現有的互聯網基礎之上的一層智能虛擬網絡,CDN系統可以實時地根據網絡流量和各節點的鏈接、負載情況以及到用戶的距離和響應時間等綜合信息將用戶的請求從新導向離用戶最近的服務節點上。php
目的:
解決因分佈、帶寬、服務器性能帶來的訪問延遲問題,適用於站點加速、點播、直播等場景。使用戶可就近取得所需內容,解決 Internet網絡擁擠的情況,提升用戶訪問網站的響應速度和成功率。
控制時延無疑是現代信息科技的重要指標,CDN的意圖就是儘量的減小資源在轉發、傳輸、鏈路抖動等狀況下順利保障信息的連貫性。緩存
優點:
若是你在經營一家網站,那你應該知道幾點因素是你制勝的關鍵:
內容有吸引力
訪問速度快
支持頻繁的用戶互動
能夠在各處瀏覽無障礙
安全
另外:你的網站必須能在複雜的網絡環境下運行,考慮到全球的用戶訪問體驗。你的網站也會隨着使用愈來愈多的對象(如圖片、幀、CSS及APIs)和形形色色的動做(分享、跟蹤)而系統逐漸龐大。因此,系統變慢帶來用戶的流失。
Google及其它網站的研究代表,一個網站每慢一秒鐘,就會丟失許多訪客,甚至這些訪客永遠不會再次光顧這些網站。能夠想像,若是網站是你的盈利渠道或是品牌窗口,那麼網站速度慢將是一個致命的打擊。
這就是你使用CDN的第一個也是最重要的緣由:加速網站的訪問
除此以外,CDN還有一些做用:服務器
互聯不互通、區域ISP地域侷限、出口帶寬受限制等種種因素都形成了網站的區域性沒法訪問。CDN加速能夠覆蓋全球的線路,經過和運營商合做,部署IDC資源,在全國骨幹節點商,合理部署CDN邊緣分發存儲節點,充分利用帶寬資源,平衡源站流量。網絡
CDN的負載均衡和分佈式存儲技術,能夠增強網站的可靠性,至關無無形中給你的網站添加了一把保護傘,應對絕大部分的互聯網攻擊事件。防攻擊系統也能避免網站遭到惡意攻擊。架構
當某個服務器發生意外故障時,系統將會調用其餘臨近的健康服務器節點進行服務,進而提供接近100%的可靠性,這就讓你的網站能夠作到永不宕機。負載均衡
使用CDN加速能夠實現網站的全國鋪設,你根據不用考慮購買服務器與後續的託管運維,服務器之間鏡像同步,也不用爲了管理維護技術人員而煩惱,節省了人力、精力和財力。運維
CDN加速廠商通常都會提供一站式服務,業務不只限於CDN,還有配套的雲存儲、大數據服務、視頻雲服務等,並且通常會提供7x24運維監控支持,保證網絡隨時暢通,你能夠放心使用。而且將更多的精力投入到發展自身的核心業務之上。
引入一個詞:控制時延
無疑是現代信息科技的重要指標,CDN的意圖就是儘量的減小資源在轉發、傳輸、鏈路抖動等狀況下順利保障信息的連貫性
根據論文《WAITING TIMES IN QUALITY OF EXPERIENCE FOR WEB BASED SERVICES》中提出的: 其指出基於人腦在等待不一樣時長的信息時,產生的不一樣意識行爲,進而對信息獲取產生的差異感官體驗。
感知的持續時間 VS 客觀持續時間
根據研究發現:當人們得到Voice這類聲音訊息時,好感度隨時間流逝降低的最爲迅速,僅需16分鐘「評估意見等級」降低了70%,可見音像資源受緩衝時間的影響可見一斑jsp
✫0.1 s: 用戶幾乎感受不到系統是否不連貫性。
✫1.0 s: 用戶明顯注意到時延的發生,可是在該時間內思惟依然是連貫的。
✫10 s: 超過該時間的時延會使用戶失去等待意願。 控制時延無疑是現代信息科技的重要指標,CDN的意圖就是儘量的減小資源在轉發、傳輸、鏈路抖動等狀況下順利保障信息的連貫性。
通俗點說就是在網速必定的前提下,CDN就像網絡中快遞員小哥分佈式
並且CDN這個快遞員非常聰明 TA不是在用蠻力瞎跑、亂撞
TA還承建了不少家快遞點,就近快遞(緩存)
TA善於優化快遞路徑(調度) 還會對包裹進行更合理的從新打包(協議優化)
不管用戶在世界任何角落,只要鏈接網絡,CDN服務就如同把源站搬到用戶面前同樣,整個世界,觸手可及!
CDN就是扮演者護航者和加速者的角色,更快準狠的觸發信息和觸達每個用戶,帶來更爲極致的使用體驗。
基礎架構:最簡單的CDN網絡由一個DNS服務器和幾臺緩存服務器組成:
當用戶點擊網站頁面上的內容URL,通過本地DNS系統解析,DNS系統會最終將域名的解析權交給CNAME指向的CDN專用DNS服務器。
CDN的DNS服務器將CDN的全局負載均衡設備IP地址返回用戶。
用戶向CDN的全局負載均衡設備發起內容URL訪問請求。
CDN全局負載均衡設備根據用戶IP地址,以及用戶請求的內容URL,選擇一臺用戶所屬區域的區域負載均衡設備,告訴用戶向這臺設備發起請求。
區域負載均衡設備會爲用戶選擇一臺合適的緩存服務器提供服務,選擇的依據包括:根據用戶IP地址,判斷哪一臺服務器距用戶最近;根據用戶所請求的URL中攜帶的內容名稱,判斷哪一臺服務器上有用戶所需內容;查詢各個服務器當前的負載狀況,判斷哪一臺服務器尚有服務能力。基於以上這些條件的綜合分析以後,區域負載均衡設備會向全局負載均衡設備返回一臺緩存服務器的IP地址。
全局負載均衡設備把服務器的IP地址返回給用戶。
用戶向緩存服務器發起請求,緩存服務器響應用戶請求,將用戶所需內容傳送到用戶終端。若是這臺緩存服務器上並無用戶想要的內容,而區域均衡設備依然將它分配給了用戶,那麼這臺服務器就要向它的上一級緩存服務器請求內容,直至追溯到網站的源服務器將內容拉到本地。
服務模式:
簡單地說,CDN是一個經策略性部署的總體系統,包括分佈式存儲、負載均衡、網絡請求的重定向和內容管理4個要件,而內容管理和全局的網絡流量管理(Traffic Management)是CDN的核心所在。
經過用戶就近性和服務器負載的判斷,CDN確保內容以一種極爲高效的方式爲用戶的請求提供服務。
舉例說明:
國內訪問量較高的網站、直播、視頻平臺,均使用CDN網絡加速技術,雖然網站的訪問巨大,但不管在什麼地方訪問都會感受速度很快。而通常的網站若是服務器在網通,電信用戶訪問很慢,若是服務器在電信,網通用戶訪問又很慢。
經過在現有的Internet中增長一層新的網絡架構,將網站的內容發佈到最接近用戶的cache服務器內,經過DNS負載均衡的技術,判斷用戶來源就近訪問cache服務器取得所需的內容,解決Internet網絡擁塞情況,提升用戶訪問網站的響應速度,如同提供了多個分佈在各地的加速器,以達到快速、可冗餘的爲多個網站加速的目的。
CDN服務最初用於確保快速可靠地分發靜態內容,這些內容能夠緩存,最適合在網速龐大的網絡中存儲和分發,該網絡在幾十多個國家的十幾個網絡中的覆蓋CDN網絡服務器。因爲動態內容必須經過互聯網來傳輸,所以要提供快速的網絡體驗。現在的CDN可謂是大文件、小文件、點播、直播、動靜皆宜!
主要特色:
一、本地Cache加速,提升了企業站點(尤爲含有大量圖片和靜態頁面站點)的訪問速度,並大大提升以上性質站點的穩定性
二、鏡像服務消除了不一樣運營商之間互聯的瓶頸形成的影響,實現了跨運營商的網絡加速,保證不一樣網絡中的用戶都能獲得良好的訪問質量。
三、遠程加速 遠程訪問用戶根據DNS負載均衡技術 智能自動選擇Cache服務器,選擇最快的Cache服務器,加快遠程訪問的速度
四、帶寬優化 自動生成服務器的遠程Mirror(鏡像)cache服務器,遠程用戶訪問時從cache服務器上讀取數據,減小遠程訪問的帶寬、分擔網絡流量、減輕原站點WEB服務器負載等功能。
五、集羣抗攻擊 普遍分佈的CDN節點加上節點之間的智能冗餘機制,能夠有效地預防黑客入侵以及下降各類D.D.o.S攻擊對網站的影響,同時保證較好的服務質量 。
關鍵技術:
內容發佈:它藉助於創建索引、緩存、流分裂、組播(Multicast)等技術
內容路由:它是總體性的網絡負載均衡技術,經過內容路由器中的重定向(DNS)機制,在多個遠程POP上均衡用戶的請求,以使用戶請求獲得最近內容源的響應;
內容交換:它根據內容的可用性、服務器的可用性以及用戶的背景,在POP的緩存服務器上,利用應用層交換、流分裂、重定向(ICP、WCCP)等技術,智能地平衡負載流量;
性能管理:它經過內部和外部監控系統,獲取網絡部件的情況信息,測量內容發佈的端到端性能(如包丟失、延時、平均帶寬、啓動時間、幀速率等),保證網絡處於最佳的運行狀態。
適用範圍:
通常來講以資訊、內容等爲主的網站,具備必定訪問體量的網站
例如資訊網站、政府機構網站、行業平臺網站、商城等以動態內容爲主的網站
例如論壇、博客、交友、SNS、網絡遊戲、搜索/查詢、金融等。提供http下載的網站
例如軟件開發商、內容服務提供商、網絡遊戲運行商、源碼下載等有大量流媒體點播應用的網站
例如:擁有視頻點播平臺的電信運營商、內容服務提供商、體育頻道、寬頻頻道、在線教育、視頻博客等
Q & A
1.CDN加速是對網站所在服務器加速,仍是對其域名加速?
CDN是隻對網站的某一個具體的域名加速。若是同一個網站有多個域名,則訪客訪問加入CDN的域名得到加速效果,訪問未加入CDN的域名,或者直接訪問IP地址,則沒法得到CDN效果。
2.CDN和鏡像站點比較有何優點?
CDN對網站的訪客徹底透明,不須要訪客手動選擇要訪問的鏡像站點,保證了網站對訪客的友好性。
CDN對每一個節點都有可用性檢查,不合格的節點會第一時間剔出,從而保證了極高的可用率,而鏡像站點沒法實現這一點。
CDN部署簡單,對原站基本不作任何改動便可生效。
3.CDN和雙線機房相比有何優點?
常見的雙線機房只能解決網通和電信互相訪問慢的問題,其它ISP(譬如教育網,移動網,鐵通)互通的問題仍是沒獲得解決。
而CDN是訪問者就近取數據,而CDN的節點遍及各ISP,從而保證了網站到任意ISP的訪問速度。另外CDN由於其流量分流到各節點的原理,自然得到抵抗網絡攻擊的能力。
4.CDN使用後,原來的網站是否須要作修改,作什麼修改?
通常而言,網站無需任何修改便可使用CDN得到加速效果。只是對須要判斷訪客IP程序,才須要作少許修改。
5.爲何個人網站更新後,經過CDN後看到網頁仍是舊網頁,如何解決?
因爲CDN採用各節點緩存的機制,網站的靜態網頁和圖片修改後,若是CDN緩存沒有作相應更新,則看到的仍是舊的網頁。
爲了解決這個問題,CDN管理面板中提供了URL推送服務,來通知CDN各節點刷新本身的緩存。
在URL推送地址欄中,輸入具體的網址或者圖片地址,則各節點中的緩存內容即被統一刪除,而且立即生效。
若是須要推送的網址和圖片太多,能夠選擇目錄推送,輸入 http://www.kkk.com/news 便可以對網站下news目錄下全部網頁和圖片進行了刷新。
6.能不能讓CDN不緩存某些即時性要求很高的網頁和圖片?
只須要使用動態頁面,asp,php,jsp等動態技術作成的頁面不被CDN緩存,無需每次都要刷新。或者採用一個網站兩個域名,一個啓用CDN,另一個域名不用CDN,對即時性要求高的頁面和圖片放在不用CDN的域名下。
7.網站新增了很多網頁和圖片,這些須要使用URL推送嗎?
後來增長的網頁和圖片,不須要使用URL推送,由於它們原本就不存在緩存中。
8.網站用CDN後,有些地區反映沒法訪問了,怎麼辦?
CDN啓用後,訪客不能訪問網站有不少種可能,多是CDN的問題,也多是源站點出現故障或者源站點被關閉,還多是訪客本身所在的網絡出現問題,甚至咱們實際故障排除中,還出現過客戶本身計算機中毒,致使沒法訪問網站。
客戶報告故障時,可隨時聯繫咱們24小時技術部進行處理。
9.哪些狀況不適用於CDN?
此類極端情況不建議您使用CDN服務