使用S3作为图片服务器

我们知道,AWS S3 作为存储的优势是随时扩展,价格低廉。(当然论低廉肯定比不上Glacier,S3 standard也比不上S3 IA)
当系统有大量图片存储和获取的需求时,我们可以考虑将S3作为我们的图片服务器。

图片服务器涉及下载和存储两项。有大量图片时,如果下载和存储仍然通过前端上传(/请求下载),后端请求转至S3的方式来处理,显然会遇到两个问题,1. 带宽问题:服务器的带宽将被图片占据,影响系统响应速度 2.效率问题:从后端到S3之间需要时间,后端到前端之间也需要传输时间。 所以我们可以采用前端直连S3的方式。

前端如何直连S3呢?第一要考虑的就是安全问题,如果任意连接肯定是不行的。此时就需要后端来给前端一个直连S3的认证。并且该认证需要设置时间限制,超过有效期,链接失效。具体做法可以查阅S3的官方文档。

S3预签名下载:https://docs.aws.amazon.com/zh_cn/AmazonS3/latest/dev/ShareObjectPreSignedURLJavaSDK.html

S3预签名上传:https://docs.aws.amazon.com/zh_cn/AmazonS3/latest/dev/PresignedUrlUploadObjectJavaSDK.html

你可能感兴趣的:(使用S3作为图片服务器)