何时对 Web 应用使用 NFS

何时对 Web 应用使用 NFS

我目前正在 AWS 上构建一个简单的 webapp 架构,如下所示:弹性负载均衡器 - 多个前端 - RDS 数据库。

我还设置了一个 NFS 服务器来存储用户通过 Web 应用程序上传的所有图像,例如主要个人资料图片(我不能为此使用 S3,我只是遵循我获得的规格......)。

前端虚拟机由自动缩放组生成。生成虚拟机时,它会从 S3 存储桶下载 Web 应用程序源。问题是,这些源中有一些大文件(主要是静态文件,例如 mp4 或图像),我正在考虑将这些大型静态文件也存储在 NFS 服务器上,因为从 S3 下载需要太多时间。

所以我的问题是:什么时候将文件存储在 NFS 上是相关的,什么时候将其放在每个前端更好?例如,如果我将 mp4 存储在 NFS 上,为什么不将整个 Web 应用程序存储在这个 NFS 上?

注意:我不想构建包含这些文件的 AMI,因为修改它们时不够灵活

答案1

这一切都归结于性能。如果您的 NFS 存储速度足够快,那么没有什么可以阻止您将所有 Web 应用程序和 Web 内容文件放在其中,以便所有前端 VM 都可以访问它们。

也就是说,人们不这样做的最常见原因是,从网络存储检索文件所涉及的额外网络延迟会转化为客户端在其浏览器中加载您的 Web 应用程序/网站时的额外延迟。

显然,这取决于虚拟机的底层存储,但通常本地存储的延迟几乎总是较低,因此是存储静态内容的首选。我参与的许多负载平衡部署都使用 DRDB 来保持静态内容同步以供所有 Web 服务器使用。

相关内容