【CDP-雲設計模式】第4章,6.URL改寫模式(URL Rewriting Pattern)

1.要解決的問題

  當由多個虛擬服務器提供web服務時,如果訪問量變得很大,將通過增加虛擬服務器數量或提高虛擬服務器規格來處理負載。然而,大多數訪問都是對靜態內容的請求,所以如何分配訪問靜態內容變得至關重要。

2.雲模式的說明

  可以使用網絡存儲來分配靜態內容的訪問。這使得無需增加虛擬服務器的數量就可以應對負載。

  使用這個方法要求將靜態內容的URL地址轉換爲網絡存儲的URL地址。但這並不意味着你總是需要直接調整靜態內容,你可以在分發時使用web服務器的Filter功能來改變URL地址。如果不想從網絡存儲中分發內容,你還可以使用內容分發服務器來進行分發。

3.實施

  在AWS中,你可以使用亞馬遜S3來分發靜態內容。將存放在S3中的內容作爲原始數據,並使用CloudFront內容分發服務,從而實現在全球範圍內無延時地進行內容傳遞。
(步驟)

  • (同步)上傳一部分EC2上的靜態內容(JavaScript/CSS/圖片等)至S3上。

  • 如有必要,使用原始的(已同步)上傳靜態內容的S3生成一個CloudFront。(當使用CloudFront,可以直接使用EC2實例來代替S3作爲原始服務器。)

  • 用S3或CloudFront上的URL地址覆蓋HTML標籤中的靜態內容地址。

  • 你可以使用Apache過濾器模塊或Nginx作爲代理來動態地執行重寫。

4.配置

圖1

5.好處

  • 你可以爲加載提供更強的健壯性,還可以將靜態內容的訪問分配至S3/CloudFront從而降低EC2的成本。

  • 你可以使用CloudFront作爲解決全球遠距離傳輸而造成延遲問題的一個方法。

  • 當使用mod_ext_filter/mod_sed、Nginx等這類功能,你可以在使用此模式時添加一個過濾器,而不用修改原始的HTML文件。通過簡單地關閉過濾器,就可以很輕鬆地回到未使用CloudFront時的狀態。

6.注意事項

  當使用CloudFront時,由於內容緩存可能會出現刪除或更新延遲的情況。

發佈了77 篇原創文章 · 獲贊 23 · 訪問量 30萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章