哪一个更适合存储用户上传的图片和视频?
亚马逊s3或文件系统EC2?
虽然StackOverflow不鼓励基于意见的问题,并且答案总是取决于具体情况,但很有可能 Amazon S3是您更好的选择.
你没有说是否只希望存储的数据,或者是否你也想成为数据输出给用户.我会假设两者.
使用Amazon S3存储静态资产(如图片和视频)的好处:
S3是按需付费(仅支付所消耗的存储空间,具有不同的选项,具体取决于您希望检索对象的频率/速度)
S3具有高可用性:您无需运行任何服务器
S3 非常耐用:您的数据在三个数据中心之间重复,因此它更容易出现故障
S3具有高度可扩展性:它可以处理大量请求.如果您使用Amazon EC2提供内容,则必须进行横向扩展以满足请求
S3 在对象,存储桶和用户级别具有内置安全性.
基本上,Amazon S3是一种完全托管的存储服务,可以将静态资产提供给Internet.
如果您要在Amazon EC2实例上存储数据,并从EC2实例提供内容:
您需要使用Amazon EBS卷预先配置存储(即使未全部使用,也需要支付整个卷的费用)
您需要快照EBS卷以提高持久性(EBS快照存储在Amazon S3中,在数据中心之间复制)
您需要扩展 EC2实例(使它们更大或添加更多)来处理工作负载
如果运行多个EC2实例以满足请求卷,则需要在实例之间复制数据
您需要在EC2实例上安装和配置软件,以管理安全性,内容服务,监控等.
将此静态数据直接存储在Amazon EC2实例而非Amazon S3上的唯一好处是,可以立即访问实例上运行的软件.这使代码更简单,访问速度更快.
还可以选择使用Amazon Elastic File System(EFS),它是类似NAS的存储.您可以在多个EC2实例上同时安装EFS卷.数据在多个可用区之间复制.它按现收现付的方式收费.但是,它只是存储层 - 您仍然需要使用Amazon EC2实例将内容提供给Internet.