扩展文件系统

时间:2009-11-12 03:42:05

标签: php linux file

这也可能是针对serverfault的问题,但它也包括来自此处的主题。

我正在构建一个由6台服务器组成的新网站。 1个mysql,1个Web,2个文件处理服务器,2个文件服务器。简而言之,文件处理服务器处理文件并将它们复制到文件服务器。在这种情况下,我有两个选择;

我可以为每个文件服务器设置一个Web服务器,并直接从那里提供文件。比如,file1.domain.com/file.zip。某些文件(并非所有文件)都需要身份验证,因此我将通过这些服务器的memcache对用户进行身份验证。 90%的请求不需要任何身份验证。

或者我可以直接从网络服务器设置NFS并提供文件,例如www.domain.com/fileserve.php?id=2323(这是一个基本的例子)

由于项目严重依赖于文件,第二个选项可能不如第一个选项有效,因为它会占用更多内存(即使我在服务时将文件拆分成块)

设置将长时间保持不变,因此我们不会在设置中添加新的文件服务器。

您有什么想法,哪一个更好?或者任何不同的想法?

提前致谢,

3 个答案:

答案 0 :(得分:3)

只是我,但我实际上会在“Web服务器”上放置一组反向代理规则,然后将HTTP请求(如果它们具有相同的文件系统,可能是负载均衡的)代理回到文件服务器上的轻量级HTTP服务器。 / p>

这为您提供了灵活性和实现未来缓存,日志记录,过滤器链,重写规则,身份验证和& c的能力。我发现将前端Web服务器作为代理层是一种非常有效的解决方案。

答案 1 :(得分:2)

我建议您选择#1:允许文件服务器充当Web服务器。我个人发现NFS在大批量使用时有点片状。

答案 2 :(得分:0)

您还可以使用内容分发网络,例如simplecdn.com,它们可以解决带宽和服务器负载问题。