靜態CDN又拍雲端儲存使用心得

sunny222發表於2012-05-04

網站伺服器的負載問題一直是個很重要也很讓人頭疼的問題,也是網站從一開始搭建就應該考慮的問題。對於一個負載較大的網站,各個伺服器各司其職、負載均衡是必需的。

一般來說,一個比較大型的系統要包括:前端的負載均衡伺服器、應用伺服器、靜態伺服器、資料庫伺服器和快取伺服器。其中,靜態伺服器是可以單獨分離出的一部分,而其他的則最好是叢集部署。

龜跡網(guiji.us)使用了又拍雲CDN作為靜態伺服器,主要原因如下。

對於一個頁面訪問,又拍雲承擔了絕大部分的請求,如下截圖: enter image description here

(可以看到大部分的請求都發到了 static.guiji.us,其繫結的是又拍雲CDN。)

又拍雲將個人或小型企業搭建CDN的成本降到最低,是按使用收費(Pay-As-You-Go),其價格在www.upyun.com官網上可以看到。

作為又拍雲的使用者,可能很多人都和我關心一樣的問題。主要包括如下幾個方面。

  1. 如何上傳檔案到伺服器? 又拍雲提供的是FTP介面和API介面兩種形式,使用者可直接使用FTP客戶端工具上傳,也可以使用API呼叫的形式。

  2. 如何繫結到自己的域名? 申請到又拍雲後會得到一個類似xxxx.b0.upaiyun.com的域名,然後在又拍雲的管理頁面新增繫結申請,比如到static.guiji.us。 需注意的是,在Name Server上繫結的記錄對應地址為xxxx.b0.aicdn.com,和上述地址有所不同。

  3. 又拍雲伺服器速度如何? 又拍雲伺服器使用的是CDN,會根據你傳送請求所在網路,結合智慧DNS,將請求的域名(static.guiji.us)解析到不同IP上,來確保訪問線路速度最快。 一般來說在國內,ping的響應時間在 5ms - 50ms 之間。最慢的時候是用校園Wifi,訊號比較弱,大概會接近100ms。
    enter image description here

  4. 靜態資源的快取問題
    Web前端開發者對這個問題可以說是相當頭疼。一旦修改了一些靜態資源(CSS、JS),就一定要修改對應的URL,否則瀏覽器快取會導致使用者訪問到的資料是老版本。
    又拍雲返回的靜態資源響應頭中Cache時間為一週。同時,又拍雲CDN將快取做得更進了一步。為了保證使用者請求快速得到響應,又拍雲可能會無視掉URL引數。
    也就是說,請求 a.jpg?v1 和 a.jpg?v2 是沒區別的。更新資源的同時,要在又拍雲後臺重新整理快取中刷掉這個檔案。
    還有一種解決方法,也是龜跡網採用的方法。就是,每一次釋出網站,都在對應的資料夾名中加一個版本號。這樣確保請求的URL是完全不同的,而非僅引數不同,從而避免了客戶端快取和伺服器快取。

相關文章