《云時代來臨,快速利用CDN服務為海外用戶訪問國內網站加速》要點:
本文介紹了云時代來臨,快速利用CDN服務為海外用戶訪問國內網站加速,希望對您有用。如果有疑問,可以聯系我們。
作者簡介:沙濤,微軟公司云計算和大數據解決方案專家,20年IT工作經驗,曾在多家知名外企擔任資深技術顧問,Oracle數據庫認證大師,微軟認證專家,擅長于數據領域和云計算領域,Oracle數據庫中文社區創始人之一,微軟創投合伙人,輔導創業型企業以及傳統企業利用最新云計算和大數據技術進行業務轉型.
眾所周知,海外用戶訪問國內網站速度都不盡人意,主要原因是地理距離比較遠,中國到海外的Internet出口帶寬有限且中間還隔著”長城防火墻”.那我們有什么辦法可以來加速海外用戶對國內網站的訪問速度么?答案就是CDN服務.本文主要就是介紹CDN服務提高海外客戶訪問國內網站的加速原理,海外CDN選擇,快速配置以及問題釋疑三個部分.
CDN全稱Content Delivery Network,中文為內容分發網絡,基本思想是將客戶要訪問的數據盡可能地緩存到離客戶最近的網絡節點上.
沒有CDN時,海外客戶訪問國內網站是這樣的,海外客戶的每次訪問都必須從國內網站服務器讀取數據,圖片等內容.如下圖
有了CDN后,CDN網絡自動把用戶需要訪問的網站文件Cache(緩存)到離客戶最近的CDN節點上,這個過程是CDN網絡智能判斷和完成的,不需要客戶人工介入,如下圖:
對上圖做一個解釋,我們國內的網站經過CDN服務后會自動(主動/被動)同步到全球的CDN節點,這樣當海外客戶再訪問國內網站時,CDN系統會智能將客戶的訪問引導到訪問速度最快的CDN節點上,從而大大加快客戶的訪問.這個示意不是特別嚴謹,如果大家希望特別深入的了解CDN工作機制的話,建議大家可以閱讀:http://baike.baidu.com/item/CDN/420951?fr=aladdin?以及其他文檔,網上非常多,這里不做詳細介紹.
如上圖來看,我們可以發現CDN有幾點特別重要:
針對國內網站出海來看,可以如下三種選擇:
如果你只是中小客戶的話,我推薦云廠家提供的CDN服務,配置簡單,節點夠用,性價比高.目前可以提供云CDN服務的廠家無外乎微軟的AZURE和亞馬遜的AWS,這里僅以微軟Azure為例.微軟Azure是全球云計算供應商領導企業,提供了數百種云計算服務,完全可以滿足國內客戶開拓海外業務使用.
首先您得有個Azure賬號,Azure可以在www.azure.com上去申請,綁定信用卡后按使用量后付費.
配置步驟如下:
如上圖,先配置一個CDN配置文件/Profile,資源組和資源組位置隨意,三種定價標準如下圖:
如果是純靜態網站,推薦大家使用S1 Verizon Standard,如果需要設置CDN規則,建議使用P1 Premium Verizon,CDN都是按照流量來收費,但是因為功能強大,高級版顯然會比標準版貴一些.配完后應該如下圖:
說明:
Name是CDN節點名,比如我輸入cdndemo,那么節點名就是cdndemo.azureedge.net;
Origin type(原點類型),如果是對自有網站加速,選擇Custom origin;
Origin hostname,填寫你的源網站的公網IP或者主機名,比如65.52.189.183,不要加http:// 的前綴.
特別提示(此處有坑):Origin hostname 中文會翻譯成原點主機,會讓人有點莫名其妙,但實際上是讓您填寫國內網站公網IP或者網站服務器主機名,千萬不要填成國內網站域名,那樣會在后面DNS配置中形成死循環導致網站無法訪問.
Origin path和Origin host header可以留空,不用填,協議可以單選HTTP或者HTTP和HTTPS都選擇.
創建完成后如下圖:
配置完成后,CDN節點會把http://65.52.189.183?網站內容Cache到終結點即http://fr-renesola.azureedge.net?,這會花費大約幾十分鐘的時間.
打開客戶的域名管理系統,增加一條CNAME記錄,主要是將原來的網站URL指向到Azure
CDN的終結點,即XXX.azureedge.net.
特別提示(此處有坑):域名系統中一般有A記錄或者CNAME記錄,A記錄會優于CNAME記錄,所以您需要刪除A記錄,主機紀錄是您的國內網站地址,記錄值是Azure CDN的終結點XXX.azureedge.net. (注意最后有一個點 . ,不要漏了).這一條CNAME的作用就是將原先訪問國內網站的url導向Azure CDN的終結點.相當于在客戶和源網站之間增加了一個CDN緩存層.至于客戶去訪問CDN網絡中的哪一個節點,我們在原理中已經說過,智能CDN自動去判斷并將客戶指向到速度最快的節點.
在終結點頁面中,增加自定義域名(Custom domain),主要是讓智能CDN系統識別您的國內網站地址.在內部建立國內網站地址和Azure CDN終結點的對應關系.
Custom hostname就是源URL,即國內網站訪問地址.
特別提示(此處有坑):此處必須設置,否則你會發現,你可以訪問XXX.azureedge.net,但是從國內地址無法訪問到終結點,會一直顯示打不開網站頁面.
上面四步做完,您可以完成了一個國內網站在全球的內容分發,您會發現不論您的客戶在全球哪一個角落,他都可以快速的打開您的國內網站.
上面步驟只是做了一個簡單的演示,在實際使用中,客戶往往還會有個性化需求,比如:
問:是否可以只Cache圖片,視頻等靜態元素
答:完全可以,選擇P1 Premium Verizon,在規則引擎中設置規則,譬如:
上圖僅為示例,aspx、asp、php等動態頁面不做CDN緩存,mp4和wmv做CDN緩存,這樣確保客戶訪問時可以得到網站動態信息.
問:網站返回頁面鏈接有字符串時如何處理?比如http://xxxxx?id=1,id=X不同值代表不同的Session.
答:可以在Cache設置中不緩存查詢字符串,不同用戶得到不同的訪問鏈接.
文章來自微信公眾號:運維幫