首页 > 解决方案 > 适用于图像共享应用程序的 AWS Lambdas 函数 VS EC2

问题描述

我仍在掌握 AWS 技术,所以请耐心等待。

项目背景

我目前正在开发一个有点复杂的网络应用程序(有几个同学),它将获取用户上传的图像(很像 Pinterest)并将它们显示在用户的网格中(很可能是一个 GET 请求)。我仍在研究是否应该使用 lambda 函数或专用 EC2 实例(由于 lambda 的限制)来向用户持续滚动图像/数据。

我的问题是:我应该在哪里存储基于用户滚动发出此类持续 GET 请求的服务的代码?

由于 AWS Lambdas 的内存限制、有效负载大小以及每个请求可以运行多长时间,我感到很困惑。我还担心,从长远来看,将 lambdas 用于此类持续GET请求可能会花费我更多。我最好只使用 EC2 实例并自己配置它吗?或者 AWS lambdas 可以轻松处理这样的过程吗?我一直在研究,没有发现太多。

标签: amazon-web-servicesamazon-ec2aws-lambdaarchitectureserverless

解决方案


我认为这是无服务器解决方案的完美场景。我将按如下方式构建它:

  • S3 - 存储可公开访问的图像。
  • DynamoDB - 根据用户存储图像 url(可能是)
  • API Gateway - 在用户滚动时获取数据。
  • Lambda - API Gateway 与此 Lambda 对话以获取图像 URL。

每当用户滚动时,API 请求都会通过 API 网关到达 Lambda,它会在 Dynamodb 中查询并发回图片的 url(而不是图片本身)。据我所知,这甚至不会达到 lamda 的内存和时间限制,主要是您只需为您使用的内容付费,而不是为用户不使用应用程序的空闲时间付费(EC2 方法就是这种情况)


推荐阅读