何時對 Web 應用程式使用 NFS

何時對 Web 應用程式使用 NFS

我目前正在AWS上建立一個簡單的Web應用程式架構,如下:Elastic Load Balancer - 多個前端 - RDS資料庫。

我還設定了一個 NFS 伺服器來儲存使用者透過 Web 應用程式上傳的所有圖像,例如主要是個人資料圖片(我無法為此使用 S3,我只遵循我得到的規格...)。

前端虛擬機器由自動縮放群組產生。當產生 VM 時,它會從 S3 儲存桶下載 Web 應用程式來源。問題是,我在這些來源中有一些龐大的文件(主要是靜態文件,例如 mp4 或圖像),我正在考慮將這些大的靜態文件也儲存在 NFS 伺服器上,因為從 S3 下載需要太多時間。

所以我的問題是:什麼時候在 NFS 上儲存檔案相關,什麼時候最好讓它在每個前端上?例如,如果我將 mp4 儲存在 NFS 上,為什麼不將整個 Web 應用程式儲存在此 NFS 上?

注意:我不想建立包含這些文件的 AMI,因為修改它們時不夠靈活

答案1

這一切都取決於性能。如果您的 NFS 儲存足夠快,那麼沒有什麼可以阻止您將所有 Web 應用程式和 Web 內容檔案放在其中,以便所有前端虛擬機器都可以存取它們。

也就是說,人們不這樣做的最常見原因是,當客戶端在瀏覽器中加載您的網路應用程式/網站時,從網路儲存檢索檔案所涉及的額外網路延遲會轉化為額外的延遲。

顯然,這取決於虛擬機的底層存儲,但通常本地存儲幾乎總是較低的延遲,因此是存儲靜態內容的首選。我參與過的許多負載平衡部署都利用 DRDB 來保持所有 Web 伺服器可用的靜態內容同步。

相關內容