CDN 緩存策略(轉)

      1.CDN加速原理
      經過動態域名解析,網友的請求被分配到離本身最快的服務器。CDN服務器直接返回緩存文件或經過專線代理原站的內容。
      網絡加速+內容緩存,有效提供訪問速度
  2.CDN節點數量
      全國多個機房,每一個機房多臺服務器,CDN節點通常上百臺
  3.CDN緩存什麼內容
    緩存html、圖片、css、xml等靜態資源,不緩存含有?的動態地址、jsp、php,js文件也不緩存【除非特殊設置】
    緩存原站返回HTTP狀態爲20*或304,不緩存其餘狀態(例如404,500,503)
  4.CDN緩存內容的更新
    a)用戶首次請求,CDN從原站抓取後緩存,直到文件過時後有用戶請求再次更新
    b)程序主動通知CDN抓取
  5.CDN緩存內容的有效期
    a)原站apache吐出的靜態文件:由apache的expire和header模塊控制
      主要兩項:last-modified,cache-control:max-age
      apache缺省配置,全部靜態文件在cdn只緩存3600s【須要咱們按需求調整被加速服務器的apache設置】
      3600s後cdn失效,用戶訪問時會從新請求原站,若是沒有變化,緩存失效週期自動延長10%。
     b)原站jsp或php吐出的動態內容(url形式必須是靜態的)
      由程序控制last-modified,cache-control:max-age public ,apache的設置將不起做用
      cdn根據這兩項判斷是否須要到原站更新內容
  6.CDN和應用的結合策略
    a)變化不頻繁的頁面:例如圖吧的圖片顯示頁、車型頁、已結束的比賽對陣頁
      在原站生成靜態頁面,原站apache上定義過時時間,例如1天。
      原站上靜態文件更新後,能夠等待cdn過時。或者主動通知cdn更新(隨着cdn節點愈來愈多,代價會很是高)
    b)變化頻繁的頁面:例如足球庫中的及時亞盤、及時歐賠、正在進行的比賽對陣頁
      不生成靜態頁面,由jsp或php定義過時時間,例如5s或60s。cdn過時後,若是有用戶訪問就從原站上抓取。
      優勢:相關頁面內容更新後,不須要主動通知100個原站都來抓取,有效下降原站的壓力。
      若是頁面內容沒有變化,返回lastmodified不變,這樣原站會直接返回304給cdn,cdn也會返回304給用戶。減小網絡傳輸和速度
      比賽結束後,「正在進行的比賽對陣頁」轉換爲第一類狀況,再生成靜態文件
    c)特殊靜態資源:例如圖片庫和某些大型產品庫中的評論js
      或者頻繁訪問、頻繁更新的頁面:例如足球賽事庫的及時比分文件
      經過apache nocache告訴IE不緩存,html中就不須要使用pinglun.js?123456這樣的代碼形式
      而後用max-age告訴cdn緩存1s,這樣避免每次用戶請求都轉到原站php

 

轉自:http://bbs.tianya.cn/post-no110-440054-1.shtml css

相關文章
相關標籤/搜索