2010-05-07 117 views
3

有沒有人有策略在部署時將內容推送到CDN?自動推送到CDN部署策略

我面臨的關鍵問題是我們有一個可用於各種環境的站點:本地開發,開發服務器,分段,然後最終生活。

該網站的肝版需要加載來自域的資產,該域將指向CDN:assets.domain.com。

但是,我們將有大量指向相對文件夾的資產的引用,例如,/images/in css,可能在js中,以及HTML &來源。

我們的新網站將使用capistrano進行部署,也可能是我們可以掛鉤另一個構建工具(apache ant?)或一些自定義腳本來搜索/替換路徑。

我想知道是否有人必須先處理這個問題,以及您將什麼解決方案用於自動化管理CDN,將內容推送到CDN以及管理對CDN中資產的css引用。

感謝

Imanc

回答

3

一般來說,使用的CDN拉式高速緩存,而不是基於推的複製。

這是因爲將大量的內容(考慮到他們的所有客戶)推送到任何大量的分佈式節點是一個困難的分佈式系統問題,並且預測未來的流量模式來優化分佈更加困難。

儘管某些(例如Akamai)提供了使網絡中的內容無效的功能,但通常認爲它是'緊急切換',而不是您可以集成到部署過程中的某些內容。

有些人還可能會提供'登臺服務器',你可以推送你的內容,但它確實不會進入CDN;相反,CDN只會在流量發生時從他們自己的服務器上提取內容。這可能足以滿足你的需求(通常它們提供FTP,SSH和其他接口)。

否則,最好的辦法是等待您設置的TTL(例如,Cache-Control:max-age)超時,並在內容向後兼容時刷新內容,或者如果不是,請更改網址。

+0

非常感謝,馬克。我想我需要爲CDN實際獲得一些文檔,並找出我們如何才能使其與我們的部署過程協同工作。一開始,我們將把資產子域映射回我們的網絡服務器,並將其用於CDN內容。如果網站需要擴展,這給了我們一個應急計劃。在這種情況下,我們需要將數據推送到它,也許使用shell腳本和rsync,並且在部署過程中,我們必須掃描css文件等來映射本地目錄資產,例如/assets/images/img1.jpg複製到assets.mydomain.com/assets。 – user307927 2010-05-10 10:13:52