2018雲栖大會南京分會飛天技術彙專場,阿裡巴巴進階技術專家魏晉帶來題CDN全站加速助力企業雲上更新的演講。主要内容是結合實際客觀案例詳細解讀全戰加速産品如何對動靜态業務進行的加速,結合安全WAF等其他營運産品,對如何建構适合大部分業務場景下的打包服務的問題進行詳細的分析。
數十款阿裡雲産品限時折扣中,
趕快點選這裡 ,領券開始雲上實踐吧! 視訊回顧請點選 以下是是精彩視訊内容整理:全站加速應用場景
全站加速主要包括一下幾個場景:
•企業官網:由于各大官網都有各種類型的登陸頁面,是以包括了動靜态的資源。
•ERP系統WEB版:比如使用者的一些表達類的查詢,對每一個使用者查詢出來的結果會根據使用者的請求不斷的改變,是以其包含了很多動态的資源。
•票務網站:與ERP系統WEB版類似。
•API加速:現如今API加速在很多的APP應用中是很重要的一部分,是以API加速相對來說應用比較廣泛。
•頁遊手遊。
加速組成原理
實際上全站加速與CDN的加速原理有些類似,傳統的CDN加速是靜态的加速,靜态加速比較實用的一點就是我們基于的一個認識是網絡的傳輸速度沒有本地磁盤的傳輸速度快,或者說網絡帶來的吞吐沒有本地磁盤那麼大,是以傳統的靜态加速一般都是通過提高命中率來進行加速的。這樣一來當使用者的請求通路到CDN的邊緣節點時,邊緣節點對這個内容有緩存,那麼就可以直接從本地緩存中發送給使用者,這樣使用者的請求就直接發到了距離使用者比較近的邊緣節點,如此一來也可以解決跨網的問題。
但是動态加速可能會不有所不同,因為每一個請求都需要回到使用者的原站,然後還需要将使用者原站的内容再一次傳回給使用者,是以必需要經過整個鍊路。是以要通過傳統的緩存方式是很難進行動态内容的加速的。是以在全站加速産品裡面,動态内容加速的核心部分主要有兩個部分,第一個部分就是智能的選路;第二個部分就是傳輸協定的優化離不開網絡的探測以及資料模型的處理。其次還有選路算法,其中比較經典的算法是最短路徑算法。一旦有了路徑以後更好的傳輸協定在解決局部網絡協定傳輸效率上有明顯的提升。
常見的提高傳輸能力的方法有TCB優化的一些技術,其原理是如何使我們的視窗開始就能夠開的比較大,或當出現擁塞的時候,我們如何根據一些by case場景使擁塞恢複的時間更短。比如跨海這樣的長鍊路的情況下,那麼一個TCP的建聯與前面的RTT一定是一個建聯的請求。也就是說,當一個小的請求缺少一個RTT也就相當于少了兩三百個MIS,這在一個長鍊路的應用下其實是非常有效的,因為它能夠極大地降低了首包的延遲。核心的技術就是傳輸的管道化,在CDN網絡内部想要把傳輸的管道建好,就相當于把高速公路鋪好,我們隻需要把資料傳入到管道即可。
CND産品功能與服務
全站加速産品的功能與服務主要包括三個方面:
1)傳輸加速:這與傳統的CDN加速是相同的,但這個産品裡面有幾個比較重要的特色,他要考慮動态内容又要考慮靜态内容,是以一個便捷的動靜分離的規則是存在于全站加速産品裡面的。也就是說,使用者一旦接入全站加速以後,比較典型的類似GPG、HTMR我們預設為是靜态檔案,其他的我們認為是動态檔案,采用的完全是不同的加速政策。其中一些公用的加速政策包括壓縮傳輸,在内部的時候能不能采用一些好的壓縮算法。因為壓縮的資料量越小,它的延遲就會更低。此外還包括一些内部的專線/隧道,這在解決跨海的鍊路的品質問題的是非常有效果的,因為防火牆的政策和國家的一些政策法規,其實CDN是建構在IDC内部或者是一些營運商的機房内部的。是以ABTN也就是阿裡巴巴的骨幹網,它在網絡品質上是比普通的公網有保證的。
2)穩定均衡:這是産品的一個重要的特性,因為我們對使用者做了大量的測試,不管是内部還是外部的使用者,我們一直在不停的調整我們的政策。其中負載均衡政策有一些典型的案例,比如說有一些使用者可能需要不同的營運商,其政策也是不同的,比如電信的使用者要回電信的原站,再比如如果有兩個原站A和B,使用者開始登陸時到達的是A原站,那麼如果希望A使用者後學所有的互動資訊都回A原站,因為原站内部的資料庫之間沒有做好,這時候就需要CDN來完成。
智能選路是動态CDN裡面的一個核心技術,在CDN網絡裡面,怎樣能夠及時發現營運商之間的擁塞與網絡上的異常,及時選擇一條好的鍊路然後避免擁塞是很重的問題。擁塞避免有很多不同的方式,對于網絡上的擁塞,伺服器的方面的擁塞,由于結點突發的量比大,雖然網絡較好的但是伺服器的處理能力卻不夠了。解決這些問題的一個核心的想法就是多徑重試,對于選路的時候會選擇若幹條最優的路或次優的路。然後在實際傳輸服務的時候會選擇最優的,如果最優的出現異常的時候,會有其他的方式通過次優的路再傳,這樣能保證在回原的過程中不會因為某一條路徑造成使用者通路的失敗。
3)安全防護:這部分主要是和其他的CDN技術和雲産品合作的,其中包括HTTPS (2)。通路控制這部分主要是鑒權防斷鍊的一些政策,IP通路的控制以及一些黑白名單的一些控制,這些都是繼承了CDN本身的功能。排隊回源在全站加速産品中是不受限制的。
産品
1)接入快捷
2)穩定可靠
3)智能加速
4)内容安全
在基礎能力上全站加速與CDN現有的結點的覆寫規模是複用的,是以在全範圍内大概有1200+個節點,其在海外也有近60到70個節點,基本上國内可以做到市級級别的覆寫,大中小城市、各營運商本地覆寫離使用者更近。帶寬儲備大約有80T+,是以可以從容面對突發流量,為持續增長的業務保駕護航。單節點緩存容量也已經達到1P+,能夠為使用者提供更好的緩存命中率、更高速的緩存,有效地提升使用者通路速度。
優化體驗
圖一是阿裡巴巴内部監控系統裡面一個體驗優化的效果,是一個典型的使用隧道來解決國内國外通路時防火牆攔截的問題。如果使用者原站在國内通路在國外,這時就會被國際防火牆攔截,是以我們内部會使用IP隧道的方式,開啟隧道後,後面的清除率就比較低了。圖一中紅線表示不使用CDN加速,藍線是有熵的CDN提供的一個全站加速産品,橙色線是阿裡提供的全站加速服務。
由圖二可以看到,在全球加速範圍内,我們的性能是比較穩定的,基本上沒有出現太大的波動。
本文由雲栖志願小組毛鶴整理編輯