在作为Instagram副本的AWS上部署应用程序

丹妮

在我的新事业规划阶段,我几乎没有疑问:

我正在尝试在AWS上部署一个应用程序,该应用程序是一个Instagram副本,人们将在其中在线发布图片。

哪种AWS服务将执行以下操作:

  • 建议存储图像?S3?
  • 最终客户用来下载这些图像?
  • 用于检索评论和标签之类的图像数据?
  • 用于将图像转换为小尺寸?CloudFront?
  • 用于搜索所有图像和标签?
  • 用于前端所有API请求?

我还想将视频存储在S3中以便在重负载下快速检索,因此组织像文件夹这样的视频以方便访问key=folder1/folder2/folder3/video.mp4是很好的选择,还是为键名创建10个随机散列是个好主意,或者可能是一个散列20后跟一个逻辑名称?

约翰·罗滕斯坦

尽管您的问题过于笼统,无法在StackOverflow上给出答案,但是这里有尝试做出回应的尝试...

尽管可以使用某些AWS服务来构建类似Instagram的应用程序,但您仍然必须进行大量编码。AWS使存储数据,管理和提供数据变得容易,仍然需要您编写应用程序。

要回答您的问题:

  • 存储图像:绝对是Amazon S3它可以存储任意数量的文件。
  • 下载图像:只需将URL嵌入网页中,S3便会将图像提供给您的用户。您甚至可以使用预签名的URL向授权用户提供私人内容。
  • 注释和标签:虽然可以将有限的元数据与Amazon S3中存储的对象相关联,但对于您的应用程序而言,将这种类型的数据存储在数据库中会更好。该数据库可以在Amazon RDS(关系数据库服务)下启动。
  • 转换图像大小:您的应用程序将负责执行此操作。但是,您可以使用3rd-party服务自动转换图像,例如Cloudinarylib-pixelimgix
  • 搜索图像和标签:这是您的应用程序的责任,但可以通过使用数据库来提供帮助,您可以考虑使用Amazon CloudsearchSmugMug为此目的实际使用了Amazon Cloudsearch
  • API前端:使用Amazon API Gateway充当API请求的前端,但是您的应用程序将负责满足这些请求。
  • 在高负载下检索视频:将视频存储在Amazon S3中,但使用Amazon CloudFront来提供视频。它可以将内容缓存到更接近您的用户的位置,并且知道如何将视频内容提供给Web浏览器。文件名策略不会影响提供内容的速度,因此可以根据需要命名文件。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在Glassfish服务器上部署同一应用程序的多个副本?

在AWS Server上部署应用程序选择通用时间而不是本地时间

在AWS Cloudfront上部署角度应用程序

Django:使用sqlite3作为数据库在Heroku上部署应用程序

在IIS上部署角度应用程序

在Heroku上部署Fb应用程序

在IIS上部署PHP应用程序

如何在AWS Lambda上部署phantomjs节点应用程序?

使用AWS Elastic Beanstalk在AWS上部署Spring Boot应用程序

使用ALB在AWS上部署支持gRPC的应用程序

在Linux上部署Qt应用程序

使用HTTPS在AWS S3上部署ReactJS应用程序

在Azure上部署React应用程序

是否可以在AWS上部署Nuxt SSR应用程序?

如何使用文件夹作为模块在pythonanywhere上部署Flask应用程序

使用代码管道在AWS S3上部署Angular 7应用程序时出错

在Azure上部署角度应用程序

无法使用Aws Ecs上部署的.net核心应用程序连接到Aurora MySql

在Tomcat上部署Web应用程序

无法在Websphere上部署应用程序

在AWS Beanstalk上部署Spray应用程序

使用Mina在AWS上部署Rails应用程序时找不到捆绑命令

在AWS上部署Flask应用程序时处理密钥

在 Heroku 上部署 React 应用程序

在 AWS 上部署 lambda 应用程序

在 Heroku 上部署以 nginx 作为代理的 Springboot 应用程序

如何在 AWS 弹性 beantalk 上部署 MEAN 堆栈应用程序?

SpringBoot Rest API:作为 Java 应用程序工作,在 tomcat 上部署时失败

与在 S3 上部署 React 应用程序的 aws 代码管道的回滚集成