【发布时间】:2020-10-11 11:57:32
【问题描述】:
它是一种 GYM 健身物联网/无服务器项目。
工作流程
每位会员手上佩戴健身手环,每 30 分钟通过蓝牙将数据发送到健身移动应用。每天(早上 7 点到 8 点)或当用户将移动应用程序连接到互联网时,它将在移动应用程序后端执行 Json 调用并将数据发送到 AWS API 网关,我们将在 Lambda 的帮助下写入数据到 AWS 极光。之后,每位会员都可以在其健身应用中查看每日锻炼详情。
需要设置一个 AWS 无服务器环境来处理 n 个 对 API 网关的请求。我对设置有一些疑问 无服务器环境
问题:
- 如何处理大量查询来到API网关(更多 超过 10000/秒)
- lambda 是否可以处理请求?数据写入DB如何处理?
- 什么样的 AWS Aurora 适合处理请求。
查看您对使用高度可扩展的基础架构实施的宝贵建议。
【问题讨论】:
-
从你写的来看,它似乎不是一个实时数据流应用。因此,通常您汇总您的请求。您不是每秒发送一个 json 消息,而是每 10 秒发送 10 条 json 消息作为一个有效负载。你考虑过吗?
-
@Marcin 让我们考虑大约 10000 个成员实时向 API 网关发送请求。我如何处理 lambda 和 Aurora 中的请求
-
如果你真的需要每秒 10000 次函数调用,这可能是个问题。 Aurora 和 API 网关应该处理这个问题。因此,在直接调用 lambda 之前,您可以先在 SQS 中对消息进行排队。所以,
APi gatway -> SQS -> lambda -> Aurora。也可以要求 aws 支持增加 lambda 并发限制。 -
@Marcin 感谢您的信息。我看到了 AWS SQS aws.amazon.com/blogs/architecture/… 文档。你能建议一个更好的方法来设置 Aurora,它只有一个 Writer,带有 RDS Proxy 的 Aurora 是一个好方法吗?
标签: amazon-web-services aws-lambda aws-api-gateway aws-serverless amazon-aurora