Azure CDN概述
Azure CDN(內容分發網絡)是一種用於分發高帶寬內容的全球CDN解決方案,它能夠託管在Azure中,也能夠經過在任何其餘位置,藉助Azure CDN,能夠託管到任何其餘位置,經過距離最近的POP服務器來緩存Azure Blob存儲、Web應用程序或者任何可公開訪問的Web服務器加載的靜態對象,Azure CDN也能夠經過利用各類網絡和路由優化來加速不能緩存的動態內容。
CDN的目的是最大程度的下降網絡延遲,經過在世界各地按照特定策略放置的物理節點緩存內容來快速分發高帶寬內容,此外還能夠經過CDN POP來利用網絡優化措施,加速不能緩存的動態內容交付。
Azure CDN的優勢
全球覆蓋:全球2100+個節點,六大洲以及國內主流運營商覆蓋
卓越性能:BGP網絡中間層,有效消除運營商屏障,提高回源效率,下降源站壓力,邊緣CDN分級存儲,應對海量併發訪問
安全穩定:智能理由技術實現節點的動態監控和智能調度
深度集成多種Azure雲服務:包括應用服務、存儲服務、媒體服務等
Azure CDN功能和用途
網站加速:自動識別內容熱度並進行分級存儲,經過熱點文件緩存到內存及SSD,知足資訊類、圖片社交類的高併發靜態內容加速
下載點播加速:集成內容上傳、存儲、分發一體化服務,下降源站壓力和帶寬成本
視頻直播加速:支持RTMP HTTP等主流直播協議,提供內容存儲、切片轉碼、鑑黃鑑暴完整解決方案,同時支持萬路互動直播
HTTPS安全加速:支持HTTPS傳輸協議,避免內容遭受劫持和篡改,保障數據安全性,知足電商、金融、銀行等場景需求
CDN的工做原理
- 用戶alice發送url請求到DNS路由,路由會找尋最佳的POP位置,通常是地理最靠近用戶的POP
- 若是POP中的邊緣服務器在其緩存中沒有文件,POP從源服務器請求文件,源服務器能夠是web應用、雲服務
- 源服務器將文件返回到POP中的邊緣服務器
- POP中的邊緣服務器緩存文件並將文件返回到Alice,經過HTTP標頭能夠指定文件生存週期
- 其餘用戶則會使用Alice同一個URL請求,指到最近的POP
- 若是TTL文件未過時,POP會邊緣服務器直接緩存,速度更快,響應更及時
建立CDN配置文件(域名組)
- 建立CDN節點以前須要建立CDN配置文件,如今叫作CDN域名組
域名組的名稱必須爲azure全局惟一,而後選擇一個訂閱選擇資源組,訂價層是CDN的服務提供商,Azure的海外CDN供應商主要有 Akamai和Verizon ,固然微軟也有CDN服務,這個看客戶的選擇,CDN是須要配置文件進行配置的,Akamai的配置文件能夠在建立CDN終結點後更改其優化設置,可是verizon的配置文件沒法在建立CDN終結點後更改優化設置。資源的位置目前是默認選擇的。
- 而後選擇建立CDN,建立後配置文件一般在兩個小時內完成
關於CDN行業Akamai和Verizon的簡要介紹
Akamai能夠說是CDN行業的鼻祖,目前也是全球第一家CDN提供商,akamai以穩定性著稱,最近十多年全球幾乎沒有發生過網絡故障,電商企業的發展助力的akami公司的騰飛,akamai也從靜態網頁加速到web內容分發,從網絡加速到雲安全和邊緣計算的開發,目前akamai的主要客戶包括 adobe 、 airbnb、best buy、CNTV、華碩、Autodesk等著名企業,業務遍及全球。
Verizon是美國最大移動運營商威瑞森是由美國原來的兩家運營公司,大西洋貝爾和Nynex合併後創建,目前是夢遊本土最大電話公司、最大無線運營通訊公司,於2013年收購了edgecast,edgecast是全球性的CDN服務提供商,主要經過彈性靈活的CDN計價模式,沒有固定的帶寬合同,美國著名的體育頻道ESPN就是edgecast的客戶,雖然客戶包括linkin 、IMAX等客戶,可是主要目標仍是小型公司,與akamai的主要區別是akamai大搞基礎設施建設,edgecast使用不少邊緣計算的設備來進行節點加速,騰訊的部分海外CDN使用的verizon。
建立CDN節點
- 首先選中CDN域名組,而後選擇「終結點」
- 設置終結點,名稱是全局惟一,原點類型包括可使用azure的自帶服務 存儲 雲服務 web應用,也可使用自定義原點,就是本身從運營商申請的域名,國內的話還須要ICP認證,
- 選擇添加建立新節點,建立完成之後還能夠添加自定義域,自定義域需用從運營商申請,有CNAME和A記錄,CNAME和A記錄的區別是一個是至關於用了別名,一個是運用域名映射到對應的IP
使用緩存規則控制Azure CDN緩存行爲
緩存是什麼?
緩存就是經過終結點多餘的緩存空間,來更快的獲取響應速度,若是沒有CDN,用戶瀏覽器和服務器的交互:
若是使用的CDN緩存交互
經過對比會發現,用戶使用CDN之後會多了一層,其實瀏覽器本地也有緩存,客戶瀏覽器會先檢查本地緩存是否過時,若是過時,則會向CDN邊緣節點發起請求,CDN邊緣節點檢測用戶請求的數據緩存是否過時,若是沒有過時直接響應用戶請求,將數據返回給用戶,若是過時,則先源站發出回源請求拉去最新數據。
Azure的CDN緩存機制
Azure CDN提供兩種類型的緩存規則:
- 全局緩存規則:針對配置文件中的每一個終結點設置一個全局緩存規則,響應全部的終結點請求。
- 自定義緩存規則:針對配置文件的每一個終結點設置一個或多個自定義緩存規則,按照順序處理,優先處理自定義緩存。
如何設置Azure CDN緩存
- 在終結點左側選擇緩存規則,緩存行爲包括三種 替代、缺乏時設置、不適用緩存
繞過緩存:不緩存,並忽略源提供的緩存指令標頭