负载均衡服务器的最佳文件上传解决方案

5
我有2个负载均衡的Web服务器,连接到1个Mysql服务器。其中之一php应用程序的功能允许用户上传图片,这些图片必须可以从任何一个Web服务器访问。哪种方法是最好的解决方案?
  • 将图片上传到云上?
  • 将图片存储在数据库中?
  • 将图片上传到MysQL服务器(而不是数据库,文件系统)?
  • ...?
感谢您的建议。
3个回答

2
像上面所说的那样,使用Rsync是可行的。但如果您正在运行一个基于WordPress平台的高流量网站,上传的图片数量很快就会变得过多,以至于rsync无法遍历整个目录树。在校验和阶段,您会看到rsync减慢到爬行速度,然后当您在具有太多文件的目录中执行ls时,它将停止工作。但这仍然是遇到这些问题的最佳解决方案。
另一种解决方案是使用远程挂载的nfs分区,但除非您处于一个非常可信的环境中,否则这非常不安全。
另一种解决方案是立即将文件放在Amazon S3上,然后在数据库中存储URL链接,并在页面加载时只呈现该链接。
请不要将图片存储在数据库中 - 这会极大地减慢数据库表格的速度。

1

我在编程方面使用过GlusterFS和Amazon S3云存储,都取得了非常好的结果。


0
我建议将文件上传到文件系统中的文件夹中。然后定期运行一个 cron 作业,同步两个服务器之间的文件夹。你也可以让 rsync 与图像上传一起运行。将图像存储在数据库中可能会变得复杂,并且会使你的数据库膨胀。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接