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,這樣避免每次用戶請求都轉到原站

 

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM