我们制作分布式软件,在a)数据库或b)Amazon S3中存储一些数据(附件).使用该数据库是因为它不需要其他配置.Amazon S3是更好的选择.
我们现在想要的是一个不想使用Amazon S3的客户的解决方案.我们显然可以只使用文件系统,但如果有多个Web服务器并且需要复制文件,这可能会有问题; 它还要求我们编写额外的代码来处理可能发生的各种问题.
如果有一台服务器软件基本上复制了Amazon S3的API,我们会优先考虑.这样我们的客户就可以在一个盒子上安装服务器; 我们不需要更改任何代码.那么......那里有没有这样的软件?
Ste*_*pel 32
这可以通过OpenStack Object Storage(代号为Swift)实现,OpenStack是一个开源软件,用于使用标准化服务器集群创建冗余,可扩展的对象存储,特别是最近添加的(可选)S3 API层,它模拟S3 REST API.对象存储的顶部.
有关官方文档,请参阅使用S3 API配置对象存储 - OpenStack Swift上的S3 API中提供了有关整个设置的更具洞察力和图解说明的小型教程(它基于更复杂的在EC2上安装OpenStack Swift集群).
一个值得注意的替代方案是Ceph,它是一个统一的分布式存储系统,旨在提供出色的性能,可靠性和可扩展性 - 有趣的是,它提供了所有三种常见的存储模型,即对象存储,块存储和文件系统,RADOS Gateway 提供了Amazon S3和与RADOS对象存储的OpenStack Swift兼容接口 [强调我的],有关当前支持的S3 API功能的详细信息,请参阅RADOS S3 API.
你看过Cloudian了吗?我们在公司内部使用它来开发我们的S3应用程序.我使用的社区版可以免费提供高达10TB的存储空间.它具有相当不错的S3覆盖率或者至少覆盖了我的应用程序使用的大部分内容(我使用版本控制和分段上传,所以我认为我的应用程序是高级的).它生成的版本ID和多部分ID等与您从AWS获得的版本不同,但是到目前为止boto没有任何抱怨.它也适用于我尝试过的s3fs和其他s3桶浏览器.
在我看来,它是针对AWS S3 API进行开发的一个很好的工具,应该满足您的要求.您可以将应用程序指向您当地的Cloudian服务器,然后当您准备好进行生产时,您可以将其指向亚马逊.你的里程可能有所不同......祝你好运.
| 归档时间: |
|
| 查看次数: |
42421 次 |
| 最近记录: |