用户在多个Web服务器设置中上传图像

我目前运行一个stream行的分类广告网站,在2台服务器上运行。 目前有2个服务器,一个networking服务器和一个数据库服务器。 他们正在运行Linux和网站编码和MySQL。

我正在升级服务器,因为这个站点超出了现有的服务器设置。 我买了另一台服务器作为另一台networking服务器,连接到专用networking中的现有2台服务器。 所以我会有2我们的服务器和一个数据库服务器。

网站上有大量的图片由用户连续上传,并从网站上删除。 最初的想法是让2个Web服务器同步文件,包括图像。 但是我认为由于大量的图像需要同步,可能会导致图像不能直接同步。

我只是试图找出最好的和最强大的解决scheme,因为我相信这是很多成长中的网站必须面对的常见问题。

我到目前为止的想法是:

1)同步两个networking服务器。 当两台服务器上的图像不可用时,速度可能会变慢,而且时间也会变慢 2)挂载图像目录,以便两个networking服务器上传到相同的目录。 这会缓慢上传图像? 3)更改上传照片的PHP脚本上传到Amazon S3存储桶,并使用阿马松云前端服务图像。 虽然我认为这可能是昂贵的,因为该网站每月服务的大量图像。

任何想法或进一步阅读的链接将是伟大的。

到目前为止,最简单,最好,最强大的解决scheme将是使用S3选项 – 无论是否有云端。

图像通常是静态内容,所以它们caching得非常好。 如果您的解决schemedevise可以利用,那么实际的永久性存储是否有点慢或成本高低并不重要。

您的networking服务器可以运行各自的caching,也可以利用外部caching,即内容分发networking。

对于许多应用程序来说,(高可用性)文件共享仍然是在服务器之间共享内容的非常合适和普遍部署的解决scheme。

或者,不要将文件存储在文件系统上,而是使用数据库并将其作为BLOB存储。 一个非常普遍的方法。 由于您已经需要一个数据库,这使得应用程序服务器几乎是无状态的,通过将它们转移到数据库层,解决了大量的locking,复制,HA,一致性和访问问题,解决了。