amazon-web-services - 适用于图像共享应用程序的 AWS Lambdas 函数 VS EC2
问题描述
我仍在掌握 AWS 技术,所以请耐心等待。
项目背景
我目前正在开发一个有点复杂的网络应用程序(有几个同学),它将获取用户上传的图像(很像 Pinterest)并将它们显示在用户的网格中(很可能是一个 GET 请求)。我仍在研究是否应该使用 lambda 函数或专用 EC2 实例(由于 lambda 的限制)来向用户持续滚动图像/数据。
我的问题是:我应该在哪里存储基于用户滚动发出此类持续 GET 请求的服务的代码?
由于 AWS Lambdas 的内存限制、有效负载大小以及每个请求可以运行多长时间,我感到很困惑。我还担心,从长远来看,将 lambdas 用于此类持续GET
请求可能会花费我更多。我最好只使用 EC2 实例并自己配置它吗?或者 AWS lambdas 可以轻松处理这样的过程吗?我一直在研究,没有发现太多。
解决方案
我认为这是无服务器解决方案的完美场景。我将按如下方式构建它:
- S3 - 存储可公开访问的图像。
- DynamoDB - 根据用户存储图像 url(可能是)
- API Gateway - 在用户滚动时获取数据。
- Lambda - API Gateway 与此 Lambda 对话以获取图像 URL。
每当用户滚动时,API 请求都会通过 API 网关到达 Lambda,它会在 Dynamodb 中查询并发回图片的 url(而不是图片本身)。据我所知,这甚至不会达到 lamda 的内存和时间限制,主要是您只需为您使用的内容付费,而不是为用户不使用应用程序的空闲时间付费(EC2 方法就是这种情况)
推荐阅读
- javascript - TypeError: e.nodeName 在 laravel 中未定义
- python - 如何使用 matplotlib 获取包含多个图形的多个窗口?
- javascript - 更改语言后如何通过 react-router-dom 重新加载页面(react-i18next)
- typescript - 上传时功能部署错误以减小图像大小
- angular - 我可以将 async/await Promises 与可观察的 RXJS 混合使用吗?
- apostrophe-cms - 创建呈现模板的静态路由
- typescript - Tensorflow.js `tensor2d` 转换为数值,同时保留形状
- html - 我将如何在代码笔上制作输入类型颜色效果我的画布?
- c# - 如何检查文本值是否在包含 DataRowViews 的控件的 DataSource 中?
- google-chrome - Puppeteer 附加到由 selenium webdriver 启动的正在运行的 chrome