负载均衡服务器的文件上传最佳解决方案
Posted
技术标签:
【中文标题】负载均衡服务器的文件上传最佳解决方案【英文标题】:File upload best solution for load balanced servers 【发布时间】:2011-07-27 09:45:56 【问题描述】:我有 2 个网络服务器负载平衡,连接到 1 个 mysql 服务器。服务器上 php 应用程序的一项功能允许用户上传必须可从任一 Web 服务器访问的图片。这样做的最佳解决方案是什么?
上传图片到云端? 将图片存入数据库 将图片上传到 MySQL 服务器(不是数据库,文件系统) ... ?感谢您的建议。
【问题讨论】:
【参考方案1】:上面的 Rsync 可以工作,但是如果你在 wordpress 平台上运行一个高流量的网站,上传的图片数量很快就会变得太多,rsync 无法在目录树中遍历,你首先会看到 rsync 也会变慢在校验和部分进行爬网,然后它将停止工作,就像您在包含太多文件的目录中执行 ls
时一样。但在您遇到这些问题之前,这是最好的解决方案。
另一种解决方案是远程安装的 nfs 分区,但除非您处于真正受信任的环境中,否则这是非常不安全的。
另一种解决方案是立即将文件“放置”到 Amazon S3 上,然后将 URL 链接存储在您的数据库中,然后在页面加载时呈现。
不要将图片存储在数据库中 - 这确实会减慢 db 表的速度。
【讨论】:
【参考方案2】:使用 GlusterFS(一种复制文件系统)和用于云存储的 Amazon S3 都取得了非常好的结果。
【讨论】:
【参考方案3】:我建议上传到文件系统上的文件夹。然后定期运行 cron 作业,以 rsync 是两台服务器之间的文件夹。您还可以在图像上传过程中运行 rsync。在数据库中存储图像可能会变得很复杂,并且会使您的数据库膨胀。
【讨论】:
以上是关于负载均衡服务器的文件上传最佳解决方案的主要内容,如果未能解决你的问题,请参考以下文章