2016-11-01 22 views

回答

1

使用重新讀取刷新代理的原因是爲了確保您的頁面在複製後立即緩存在調度程序中。

使用普通的刷新代理程序時,您需要刷新緩存,刷新的內容只會在第一次請求後再次從發佈服務器檢索。這會產生潛在的風險,因爲如果您的網站突然出現高流量高峯期,很可能很多請求以前刷新的頁面在很短的時間內擊中發佈商。例如,當流量較低時,您在夜間刷新大量頁面,並在早上,用戶開始訪問該站點以查看新增內容。在這種情況下,Dispatcher很可能會接收同一頁面的多個併發請求,並將它們轉發給發佈服務器,以便您查看每個頁面的多個請求。

引述Adobe documentation

刪除緩存文件插件這種方式是進行一些處理以便不在可能接收同一頁面同時請求的網站。

使用重新讀取刷新代理允許您預先填充緩存,因爲它指示分派器在發生刷新後立即從發佈實例中檢索頁面。通過這種方式,Dispatcher不太可能會調用Publisher來處理針對相同內容的多個併發請求,並且您可以控制重新獲取的時間。稍後發生的任何可能的流量增加都會導致頁面從Dispatcher緩存中提供,而不會影響Publish實例。

重新分配代理使您可以更好地控制Publish實例何時呈現頁面。您正在控制複製事件,並知道何時必須由Publish實例渲染頁面。例如,當流量較低時,您可以在夜間進行重新刷新刷新,並確保每個頁面在實際用戶開始呼叫您的站點前一夜間緩存,從而增加服務器的負載。

再次引用文檔:

刪除,並立即重新緩存文件時,網站有可能接收同一頁面同時客戶端請求。即時回收確保Dispatcher只檢索並緩存頁面一次,而不是每個同時發生的客戶端請求。

一句警告。在嘗試複製大部分內容時或者如果您的自定義AEM代碼不是非常快時,您必須非常小心地使用重新獲取代理。如果您同時激活了大量頁面,則最終可能會由於調度程序使用大量請求來終止發佈服務器而對自己執行DDOS攻擊。根據AEM代碼的性能,效果會有所不同。同時刷新所有內容並立即重新提取是非常糟糕的主意,尤其是如果您的網站需要大量資源才能呈現網頁。

相關問題