我将在不久的将来做一个项目,一个我们将在时间的过程中存储成千上万的图像的项目。我很难决定是使用Amazon S3还是EFS来存储这些图像。我认为这两个都是一个非常好的选择,但我的问题是什么是最好的服务或什么是最好的做法?
我的应用程序将使用Laravel完成,我已经完成了这两个服务的集成。
该项目的大部分特点是:
- 我将存储的大部分文件将是照片约95%。
- 每天将存储大约1500张照片。
- 照片非常大(专业相机)。
- 交通的应用程序不会太多,大约。一次100个用户。
- 每个用户每天会浏览大约100张照片。
你有什么好推荐的?
3条答案
按热度按时间oyjwcjzk1#
S3绝对是正确的答案和练习。我已经建立了许多像你描述的应用程序,一些与数以亿计的图像,和S3是上级。它还允许灵活性,例如您的API将图像作为预签名的URL返回,这将减少对服务器的负载,图像可以通过静态Web托管直接链接,并且它提供生命周期策略来归档较少使用的数据。此外,使用事件触发器可以轻松地与其他AWS服务进行进一步集成。
至于存储/上传,S3多部分上传对于提高性能和提高可靠性非常有用。
如果您正在执行一些密集型处理,其中您有一个服务器集群,需要使用共享文件系统降低延迟,那么EFS对您的场景类型是有意义的-想想HPC。EFS的成本也更高,并且不像S3那样提供那么多的扩展性选项或内置特性。你的场景听起来不需要EFS。
http://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html
http://docs.aws.amazon.com/AmazonS3/latest/dev/ShareObjectPreSignedURL.html
http://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html
http://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html
http://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html
atmip9wb2#
对于您提出的场景,AWS S3是首选。为什么?为什么?
AWS EFS也可以是一个选项,如果它经常修改图像(其中EBS也是一个选项)
您还可以考虑使用AWS CloudFront,并选择缓存图像。
注意:最后,这不是关于使用单一服务。根据您即将到来的需求,您可以选择其中之一或两者。
slwdgvem3#
Amazon Elastic File System旨在提供卷以在容器之间共享数据。如果您的容器希望通过多个容器处理相同的内容,那么EFS将是一个很好的选择。