我让用户能够在现有的 Web 应用程序中附加图像、视频、音频剪辑和其他文件附件。我们产品的一些安装有成千上万的用户,因此数据量会非常大。
Amazon S3 是显而易见的解决方案,但由于法律原因,不能始终使用。我需要一个我的客户可以自行托管的解决方案。
因此,我希望构建或采用具有以下特征的文件存储系统:
- 未托管。必须可安装在我客户的 Windows 服务器上。
- 可横向扩展至 TB 级存储。
- 与 S3 类似的操作,因此我可以将这两种方法都纳入我的产品。
- 经过验证的架构
我在 StackOverflow 和其他论坛(Eucalyptus Walrus、Hadoop HDFS、MongoDB + GridFS、CouchDB、MogileFS)上看到了一些关于此的建议,但找不到足够的信息来确定一个简单且经过验证的建议。
我有使用 CouchDB 的经验,如果我能确定它能很好地处理数 TB 的视频文件,我会选择使用它,但我还没有找到可以依靠的成功案例。
最佳答案
最接近的开源项目是 OpenStack swift ( https://github.com/openstack/swift )。它为 RackSpace CloudFiles 提供动力。
虽然 S3 设计并不完全为人所知,但 OpenStack 旨在提供非常相似的功能。
它是横向扩展的,没有单点故障或瓶颈。
关于windows - Amazon S3 的简单且可扩展的非托管替代方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15368867/