伴隨著近幾年o2o的爆發,網路已經不僅是傳統的展示企業品牌的渠道,而逐漸演變成為嫁接企業和使用者之間服務和交流的橋梁,我們開始賦予網路更多的功能,比如購物、出行、學習、娛樂等等。
這是因為通常cdn對靜態內容支援得較好,當面臨動態內容請求的時候,一般會回源,源站再將內容傳節點,進而傳給使用者,傳輸鏈路步驟增多,勢必會影響速度。同時,也需要源站具備區分動靜態資源的能力。為了優化動靜混合站點和純動態站點的加速效果,阿里雲推出了全站加速方案,通過智慧型區分動靜態請求,實現整站加速效果的全面提公升。
如上圖所示,全站加速在加速方式、支援資源型別和源站適配方面,都與cdn有所不同,下面我們就來看看全站加速的技術原理和產品架構是怎樣的。
全站加速技術原理和架構
阿里雲cdn擁有1300多個全球節點,90t的頻寬能力儲備。採用先進的分布式系統架構,和完全自主研發高效能快取軟體,提供基於網域名稱的全量實時監控和基於服務質量的智慧型排程,實現穩定高效的效能指標,強有力的保證了全球範圍內數十萬**的極速訪問和使用者流暢體驗。
在此背景之下,阿里雲在cdn平台之上,構建了全站加速方案,融合了動態加速和靜態加速,突破以往的單項加速,通過簡單的配置即可智慧型區分動靜態請求,實現整站加速效果的提公升。
(全站加速產品架構)
全站加速的工作原理與cdn的加速原理類似,也有所不同。傳統cdn加速是靜態加速,是因為我們基於的認識是網路傳輸速度沒有本地磁碟傳輸速度快,所以傳統靜態加速是通過提高命中率來加速。當使用者的請求訪問到cdn邊緣節點時,邊緣節點對內容有快取,就會直接從快取讀取內容返回給使用者,讀取的速度較快。而全站加速的工作原理分為以下幾步:
第一步,區分動靜態資源
通過簡單的配置指定靜態檔案的型別、uri、請求方法、自定義http頭等多種方式,靈活區分出動、靜態內容。
第二步,動靜態資源分別加速
通過簡單的動靜態資源配置規則,即可實現動態資源和靜態資源的同時加速:
靜態資源:通過快取記憶體,從就近的cdn節點獲取。
動態資源:通過智慧型選路、傳輸協議優化等核心技術快速回源獲取。智慧型選路離不開網路質量的探測,實時的質量資料的模型的處理,還有最短路徑等演算法。一旦有了這個路徑,更好的傳輸協議,可能是解決傳輸效能的關鍵一環,常見的方式有tcp優化,傳輸管道化等等。
那麼該如何利用cdn全站加速能力,更好的支援實際業務場景,提公升加速效果呢?為大家介紹幾個典型的場景和解決方案。
(電商**加速流程圖)
針對這種情況,全站加速支援動靜分離,使用者一旦接入全站加速,比如html、jpg等預設是靜態檔案,其他就是動態檔案,採用完全不同的加速策略。對靜態內容進行邊緣快取,從而解決公網傳輸速度緩慢的問題,提公升整個**資源載入速度。
在大型活動期間,電商**流量會激增,面對突發流量可能會導致的頁面延遲、交付失敗、源站過載、宕機等情況,**的穩定可用及源站負載均衡就尤為重要。全站加速產品有穩定均衡的特性,經過了內部外部的大量測試與策略調整。
第一,回源負載均衡
可以針對不同運營商的策略調整,提高網路的靈活性和可用性,再通過一系列的有序回源、qps限速、多源主備等策略,降低源站壓力和故障風險。
第二,智慧型選路
可以通過監測cdn網路鏈路質量並進行有向分析,及時發現與避免運營商之間的網路擁塞和異常,選擇一條最優的路徑。
第三,擁塞避免
擁塞有不同型別:網路上的擁塞、節點因為突發流量很大造成的擁塞等等,解決這些問題的核心的理念就是多徑重試,在選路的時候,最優、次優、再次的路徑選擇若干條,實際傳輸的時候優先選擇最優路徑,當最優路徑出現異常或問題的時候,選擇次優的路再傳。這樣就能保證到回源的環節中,不會因為某一條路徑造成使用者訪問的失敗。
場景二:遊戲場景下的實時通訊高併發全站加速針對遊戲場景,進行了傳輸協議優化,有效控制擁塞,採用靈活的丟包探測重傳策略,確保了動態內容的高併發。下圖是第三方測試效果,紅線是使用者不使用阿里雲加速的效果,藍線是其他cdn加速的效果,橙線是阿里雲全站加速的效果,得出結論我們的加速效能是比較穩定的,整個過程不會出現大幅波動。
國內網路環境複雜,**被劫持、內容被篡改的情況時有發生,僅僅使用http協議傳輸可能會有動態內容洩露的風險,網路的高可用性和高安全性是金融、政企、票務類**的重要訴求,交易過程主要是動態互動類內容,跨網鏈結不夠穩定會存在風險,需要全站加速保障每一筆交易。如今,大部分站點也都想要尋求更安全高效的網路鏈路和內容分發途徑了。
全站加速和其他cdn技術和雲產品融合,支援全鏈路https和http/2,同時,訪問控制繼承了cdn本身的鑑權、防盜煉的策略、ip訪問的控制和黑白名單等功能。同時也融合了waf功能進行防內容洩露與篡改的控制。
排隊回源這一功能是為了解決當某種型別的業務,因為大量動態請求需要回源,源站的保護非常重要。當源站無法承受突發的流量的時候,我們會針對性的提供限流、排隊的策略,來保護源站。比如說票務類的**,這種場景是十分常見的。
(社交**加速流程圖)
對應以下3個步驟,請按步驟接入:
1.開通全站加速服務
2.新增加速網域名稱
3.配置cname,服務生效
動靜內容混合站點,怎樣用全站加速支援實際業務場景?
伴隨著近幾年o2o的爆發,網路已經不僅是傳統的展示企業品牌的渠道,而逐漸演變成為嫁接企業和使用者之間服務和交流的橋梁,我們開始賦予網路更多的功能,比如購物 出行 學習 娛樂等等。這是因為通常cdn對靜態內容支援得較好,當面臨動態內容請求的時候,一般會回源,源站再將內容傳節點,進而傳給使用者,傳輸鏈路...
Ajax例項 獲得站點檔案內容
文章摘自 ajax例項 獲得站點檔案內容 把4個html檔案放到 web站點 的同乙個檔案下。index.html 我們的第乙個ajax例項 選擇乙個名著 onchange updatecharacters id selshow value value xyj 西遊記value hlm 紅樓夢val...
phpcms v9改版遠端站點內容發布功能
這個只是作為記錄一樣,經驗從前輩 汲取的!第一步 修改 phpcms modules admin templates site add.tpl.php 找到 大約在64行的位置 將他下面的整個table 替換成如下 nchange if this val 0 else 發布到ftp根目錄 是 否 注...