如何以及在何处将用户上传的文件存储在高流量Web场景场景网站中?

时间:2010-03-12 16:45:28

标签: synchronization file-upload filesystems web-farm high-traffic

我正在开发一个部署在网络农场上以提供高流量服务的网站。 我应该在哪里存储用户上传的文件?将上传的文件存储在同一网站的文件系统中并在所有Web服务器(Web场)中同步这些文件是明智的吗?或者我应该使用其他服务器将所有上传的文件存储在此服务器中以将文件存储在中央位置? 如果单独的文件服务器将是一个更好的选择,我怎样才能有效地将文件从Web服务器传递到该文件服务器? 或者我应该直接将文件上传到该文件服务器吗?

3 个答案:

答案 0 :(得分:0)

出于安全原因,您希望无论如何都要从不同的子域提供文件。通过为这些文件专用一台服务器,如果这些文件的流量得到保证,这会更容易,但这也会产生您可能想要避免的单点故障和瓶颈。

您可以让所有Web服务器从中央文件服务器或本地缓存副本提供文件。这在很大程度上取决于文件是否会发生变化。

答案 1 :(得分:0)

您是否考虑过使用Amazon S3存储和投放用户上传的文件?

否则,数据中心的中央文件服务器是有意义的。您可以使用NFS或类似工具在每个Web服务器上本地安装存储。

但是,如果您选择存储这些文件,则应始终提供来自其他域的用户提供的文件,以避免跨域漏洞利用。

答案 2 :(得分:-1)

你问过Facebook如何存储照片。您可能需要阅读以下文章:

Needle in a haystack: efficient storage of billions of photos