aws-lambda - AWS Lambda 与 Elastic Beanstalk
问题描述
我是aws的新手。
我将开发一个在 aws 上托管的 REST 完整应用程序。
我决定使用
- 用于静态内容的 Amazon S3
- 用于身份验证的 Amazon Cognito 用户池
- Amazon DynamoDB 作为数据库
我对托管我的应用程序的位置感到困惑。我有两个想法。
- AWS Lambda 函数 + api 网关
我可以在上面实现整个应用程序吗?
- 弹力豆茎
我可以将所有上述 aws 服务与它集成吗?(.net core web api 2.0 的后端)
请指导我
解决方案
作为使用云工作的经验,在 1y 6m 之后,我可以对自己的问题给出正确的答案。
是的。整个应用程序可以使用 API Gateway + Lambda 作为后端。但是您必须从前端管理大部分应用程序逻辑。在那里你必须承担风险,因为公众可以查看源代码。
将所有业务逻辑保留在客户端代码中并不是一个好习惯。并且将所有逻辑保留在 Lambda 中也不容易或具有成本效益。原因是当你制作一个真实世界的应用程序时,你将需要数千个函数。要完成一项任务,您必须调用许多函数(然后是函数运行时)。所以会很贵。
最好的解决方案是在Elastic Beanstalk上托管后端,在 S3 上托管前端。如果你有什么繁重的任务?那么您可以为此制作 Lambda 函数。
Lambda 最适合 CPU 受限函数。但不要将所有应用程序逻辑放在上面。
推荐阅读
- python - 嵌套在字典中时,Python3.8中的初始化扩展列表从值类型切换到引用类型?
- reactjs - 使用参数反应标题中的本机导航按钮
- angular - HostListener 错误地错误 TypeScript
- r - 使用向量和定义的标量在 R 中生成金字塔
- terraform-provider-azure - terraform azurerm_scheduled_query_rules_log
- javascript - 我怎样才能把它写成一个类组件?
- angular - 使用 RxJs forkJoin 将多个 api 调用合并到单个输出数组中
- mysql - 如何在 MySQL 中处理具有相同结构的表中的 20M+ 记录
- c++ - unordered_map MSVC 失效保证
- javascript - 如何在 nodejs 中处理多个 web3 事务