architecture - 如何扩展图像托管/服务?

标签 architecture web scalability media cluster-computing

我正在建立一个网站,用户可以在其中上传照片,我还将上传的照片转换为缩略图。

提前计划,如果网站变得流行,我如何扩展它以便图像(原始和缩略图)将存储在多个服务器中并从多个服务器提供?也许是一个集群?有没有任何开源软件可以帮助我解决这个问题?

谢谢。

最佳答案

一个有趣的问题。

我认为最可靠且易于扩展的解决方案是使用类似 MogileFS 的内容。这是一个基于 HTTP 的分布式文件系统。

另一种可能更容易构建的方法是确保您知道如何在需要时扩展图像托管。可能的方法是:
- 使用亚马逊 S3
- 在您的应用程序中手动实现图像的分片/分区,将图像存储在不同的后端服务器(具有较慢/较大的存储空间),然后在其前面放置一个反向代理。

在我看来,MogileFS 将是这个问题的一个很好的解决方案。向外扩展应该是微不足道的,但最初的实现可能需要更长的时间。

关于architecture - 如何扩展图像托管/服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4532969/

相关文章:

python - 使用 XPath 在使用 python 的 <td> 单元格中获取文本

asp.net - InProc 与 Redis (Asp.Net MVC 5) 中的 session 存储,考虑到可扩展性

python - 什么 HTTP 框架用于简单但可扩展的应用程序?

design-patterns - 域实体/对象并向其中注入(inject)服务感觉完全错误,有理由吗?

.net - 远程 UI 是否应该使用 SOA 来实现?

javascript - Dojo Event 动态创建的事件未处理

html - 网站在线时浏览器隐藏图像,离线时按预期工作

architecture - 基于组件的游戏引擎设计

architecture - 我的应用程序架构图的工具

scalability - 如何分片现有的键值存储?