CDN
CDN的全稱是content delivery network,即內容分發網絡。其基本思路是儘可能避開互聯網上有可能影響數據傳輸速度
和穩定性的瓶頸和環節,使內容傳輸的更快、更穩定。通過在網絡各處放置節點服務器所構成的在現有的互聯網基礎
之上的一層智能虛擬網絡,CDN系統能夠實時的根據網絡流量和各節點的連接、負載狀況以及到用戶的距離和響應時間
等綜合信息將用戶的請求重新導向離用戶最近的服務節點上。其目的是使用戶可就近取得所需內容,解決Internet網絡
擁擠的狀況,提高用戶訪問網站的相應速度。
產生背景之一:
BGP機房雖然可以提升用戶體驗,但是價格昂貴,CDN的誕生可以提供比BGP機房對於用戶更好的體驗(讓地區的同一線路
訪問當地的同一線路的網站),BGP機房和普通機房價格將近5-10倍的價格差。CDN使用單線的機房,根據用戶的線路以及
位置,爲用戶選擇靠近用的位置以及相同運營商線路,既提升了用戶體驗價格又降下來了。
CDN的價值:
1、爲客戶省錢
2、提供企業網站的用戶體驗
3、可以阻擋大部分流量***
a)引入互聯網內容:豐富網內內容資源;
b)提升用戶體驗:根據就近取用原則,實現用戶請求的本地化響應,減少由於互聯互通帶寬限制、鏈路距離/質量不可控以及因競爭帶來的人爲影響等潛在因素造成的用戶體驗下降及投訴;
c)降低出口壓力、減少出境流量,降低運營成本;
CDN的特點
1、本地Cache加速提高了企業站點(尤其是含有大量圖片和靜態頁面站點)的訪問速度,並大大提高以上性質站點的穩定性
2、鏡像服務消除了不同運營商之間互聯的瓶頸造成的影響,實現了跨運營商的網絡加速,保證不同網絡中的用戶都能得到
良好的訪問質量
3、遠程加速遠程訪問用戶根據DNS負載均衡技術只能自動選擇Cache服務器,選擇最快的Cache服務器,加快遠程訪問的速度
4、帶寬優化自動生成服務器的遠程鏡像cache服務器,遠程用戶訪問時從cache服務器上讀取數據,減少遠程訪問的帶寬、
分擔網絡流量、減輕原站點web服務器負載等功能
CDN的工作原理
簡單原理圖
CDN技術原理
原理說明
1、用戶訪問目標站點(如http://www.163.com),經由本地DNS向源站DNS發起DNS解析請求
2、由於目標站點(簽約客戶)已將其DNS解析授權給CDN廠家的GLB(通過CNAME方式), 所以用戶在實際解析過程中解析到的結果不是網站的IP地址,而是CDN廠家提供的一個加速域名(如www.163.com.lxdns.com)
3、該加速域名通過再次解析,得到一個IP地址(用戶實際獲取訪問資源的地址)。值得注意的是,這個IP地址,並非隨意分配,而是根據用戶的運營歸屬、所在地等諸多因素綜合評選出的一個最佳節點IP地址
CDN的用途
企業或門戶網站的圖片、視頻、css、js、html等靜態數據的緩存。
大網站把全站首頁靜態化放CDN,推廣頁面
支持動態加速
CDN的架構
CDN服務提供商架構的關鍵元素
DNS和只能DNS集羣(bind,powerdns)
cache集羣(squid,ats,nginx,varnish)
用戶源站(CDN服務的客戶)
外圍(計費、日誌分析、存儲、portal展示)
產品體系架構圖
CDN的計費
CDN用多少交多少錢,這和IDC機房先購買固定帶寬是有區別的
CDN流量暴高如何分析與解決
案例:http://oldboy.blog.51cto.com/2561410/909696
CDN案例:有的時候我們源站負載暴高(web服務以及存儲)
排查:
1)分析web日誌。IP來源誰
2)有可能CDN頻繁來抓數據(源站更新頻繁,CDN的緩存經常倒騰數據,命中率要高一些)。404、403要處理
3)CDN公司增加緩存節點,抓源站數據。告訴CDN抓自己服務器,不要老抓源站
源站更新後,CDN怎麼更新?
1)源站更新,CDN不知道也不關注
外部用戶觸發:當用戶請求元素,這個元素CDN沒有,CDN去源站請求
內部編輯觸發:源站更新通過CDN接口推送到CDN,也可以讓CDN刪除老的更新新的