Synchronization 在高流量web场场景网站中如何以及在何处存储用户上载的文件?

Synchronization 在高流量web场场景网站中如何以及在何处存储用户上载的文件?,synchronization,file-upload,filesystems,web-farm,high-traffic,Synchronization,File Upload,Filesystems,Web Farm,High Traffic,我在一个网站上工作,该网站部署在网络农场,以服务高流量。 我应该在哪里存储用户上传的文件?将上载的文件存储在同一网站的文件系统中并在所有web服务器(web场)中同步这些文件是否明智?或者我应该使用另一台服务器将所有上载的文件存储在此服务器中,以便将文件存储在中心位置? 若单独的文件服务器是一个更好的选择,那个么如何才能高效地将文件从web服务器传递到该文件服务器呢? 或者我应该直接将文件上载到该文件服务器吗?出于安全原因,您希望以任何方式为来自不同子域的文件提供服务。如果这些文件的流量保证,为

我在一个网站上工作,该网站部署在网络农场,以服务高流量。 我应该在哪里存储用户上传的文件?将上载的文件存储在同一网站的文件系统中并在所有web服务器(web场)中同步这些文件是否明智?或者我应该使用另一台服务器将所有上载的文件存储在此服务器中,以便将文件存储在中心位置? 若单独的文件服务器是一个更好的选择,那个么如何才能高效地将文件从web服务器传递到该文件服务器呢?
或者我应该直接将文件上载到该文件服务器吗?

出于安全原因,您希望以任何方式为来自不同子域的文件提供服务。如果这些文件的流量保证,为这些文件指定一台服务器会更容易,但这也会造成单点故障和瓶颈,您可能希望避免这种情况


您可以让所有web服务器为来自中心文件服务器或本地缓存副本的文件提供服务。这在很大程度上取决于文件是否发生更改

出于安全原因,您希望以任何方式为来自不同子域的文件提供服务。如果这些文件的流量保证,为这些文件指定一台服务器会更容易,但这也会造成单点故障和瓶颈,您可能希望避免这种情况

您可以让所有web服务器为来自中心文件服务器或本地缓存副本的文件提供服务。这在很大程度上取决于文件是否发生更改

您是否考虑过使用存储和服务用户上传的文件

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

无论您选择如何存储这些文件,您都应该始终为来自不同域的用户提供的文件提供服务,以避免跨域利用。

您是否考虑过使用来存储和服务用户上载的文件

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


无论您选择如何存储这些文件,您都应该始终提供来自不同域的用户提供的文件,以避免跨域攻击。

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


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


facebook如何存储用户上传的图像?我的情况和facebook照片有点一样。我认为facebook也使用单独的文件服务器,因为用户相册中的所有图像都来自不同的域,而不是来自facebook.com。如果必须提供类似facebook照片的功能,你会推荐什么?子域可以来自同一物理框或一组框。此外,facebook拥有庞大的用户群,所以如果你正在谈论这样的规模,那么你希望将其存储在Amazon S3上,并通过CloudFront提供服务。如果您不能做到这一点,那么请确保您为来自多个web服务器的文件提供服务,或者使用缓存机制,根据请求缓存文件,或者将文件推送到所有web服务器,这样就不会出现单一瓶颈或故障点(按需缓存对非缓存文件有单一故障点,但瓶颈较少).明白了sam最后一个问题是是否有任何工具可以自动将上载的文件同步到web场中的所有服务器。我的web服务器将是windows 2008服务器,我的网站是ASP.NET MVC站点。我不能使用AmazonS3,暂时不能使用任何缓存文件的机制。谢谢您的反馈。@Inam Jameel,我相信有很多选项可以自动同步文件。你最好问一个新的、具体的问题。facebook如何存储用户上传的图像?我的情况和facebook照片有点一样。我认为facebook也使用单独的文件服务器,因为用户相册中的所有图像都来自不同的域,而不是来自facebook.com。如果必须提供类似facebook照片的功能,你会推荐什么?子域可以来自同一物理框或一组框。此外,facebook拥有庞大的用户群,所以如果你正在谈论这样的规模,那么你希望将其存储在Amazon S3上,并通过CloudFront提供服务。如果您不能做到这一点,那么请确保您为来自多个web服务器的文件提供服务,或者使用缓存机制,根据请求缓存文件,或者将文件推送到所有web服务器,这样就不会出现单一瓶颈或故障点(按需缓存对非缓存文件有单一故障点,但瓶颈较少).明白了sam最后一个问题是是否有任何工具可以自动将上载的文件同步到web场中的所有服务器。我的web服务器将是windows 2008服务器,我的网站是ASP.NET MVC站点。我不能使用AmazonS3,暂时不能使用任何缓存文件的机制。谢谢您的反馈。@Inam Jameel,我相信有很多选项可以自动同步文件。你最好问一个新的、具体的问题。不,目前还没有计划使用AmazonS3或类似的东西。我们已经有3台通过千兆局域网连接的专用服务器。facebook如何存储用户上传的图像?我的情况和facebook照片有点一样。我认为facebook也使用单独的文件服务器,因为用户相册中的所有图像都来自不同的域,而不是facebook.com。如果必须提供类似facebook照片的功能,你会推荐什么?不,目前没有计划使用Amazon s3或类似的功能。我们已经有3台通过千兆局域网连接的专用服务器。facebook如何存储用户上传的图像?我的情况和facebook照片有点一样。我认为facebook也使用单独的文件服务器,因为用户相册中的所有图像都来自不同的域,而不是facebook.com,如果必须提供fac,你会推荐它