我正在建立一个网站,用户可以在其中上传照片,我还将上传的照片转换为缩略图。
提前计划,如果网站变得流行,我如何扩展它以便图像(原始和缩略图)将存储在多个服务器中并从多个服务器提供?也许是一个集群?有没有任何开源软件可以帮助我解决这个问题?
谢谢。
最佳答案
一个有趣的问题。
我认为最可靠且易于扩展的解决方案是使用类似 MogileFS 的内容。这是一个基于 HTTP 的分布式文件系统。
另一种可能更容易构建的方法是确保您知道如何在需要时扩展图像托管。可能的方法是:
- 使用亚马逊 S3
- 在您的应用程序中手动实现图像的分片/分区,将图像存储在不同的后端服务器(具有较慢/较大的存储空间),然后在其前面放置一个反向代理。
在我看来,MogileFS 将是这个问题的一个很好的解决方案。向外扩展应该是微不足道的,但最初的实现可能需要更长的时间。
关于architecture - 如何扩展图像托管/服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4532969/