There’s a good article on s3fs here,阅读后我诉诸EBS股份。
它强调了使用s3fs时的一些重要注意事项,即与S3的固有限制有关:
>没有文件可以超过5GB
>您不能部分更新文件,因此更改单个字节将重新上传整个文件。
>对许多小文件的操作非常有效(每个都是一个单独的S3对象),但大文件是非常低效的
>虽然S3支持部分/分块下载,但s3fs没有利用这一点,所以如果你只想读取一个1GB文件的一个字节,你必须下载整个GB。
因此,它取决于您存储的是否s3fs是一个可行的选项。如果你存储说,照片,你想写一个完整的文件或读取整个文件从不增量更改一个文件,那么它的罚款,虽然有人可能会问,如果你这样做,那么为什么不使用S3的API直接?
如果你正在谈论应用数据(例如数据库文件,日志文件),你想做一个小的增量变化,那么它的肯定否 – S3只是不工作,你不能递增地更改文件。
上面提到的文章谈论了一个类似的应用程序 – s3backer – 通过S3实现虚拟文件系统来解决性能问题。这绕开了性能问题,但它自己有几个问题:
>由于延迟写入,数据损坏的风险高
>太小的块大小(例如,4K默认值)可以显着增加
额外费用(例如,50GB的价值为130美元,4K存储块)
>太大的块大小可以增加显着的数据传输和存储
费用。
>内存使用可能是令人望而生畏的:默认情况下它缓存1000块。
使用默认的4K块大小不是一个问题,但大多数用户
可能会想增加块大小。
我求助于从EC2实例共享的EBS Mounted Drived。但你应该知道,虽然最高效的选择,它有一个大问题
EBS挂载的NFS共享有自己的问题 – 单点故障;如果共享EBS卷的机器下降,那么您将失去访问共享的所有机器的访问权限。
这是我能够生活的风险,是我选择的选择到底。我希望这有帮助。