【问题标题】:AWS Serverless Environment setup with API Gateway, Lambda and Aurora [closed]使用 API Gateway、Lambda 和 Aurora 设置 AWS 无服务器环境 [关闭]
【发布时间】:2020-10-11 11:57:32
【问题描述】:

它是一种 GYM 健身物联网/无服务器项目。

工作流程

每位会员手上佩戴健身手环,每 30 分钟通过蓝牙将数据发送到健身移动应用。每天(早上 7 点到 8 点)或当用户将移动应用程序连接到互联网时,它将在移动应用程序后端执行 Json 调用并将数据发送到 AWS API 网关,我们将在 Lambda 的帮助下写入数据到 AWS 极光。之后,每位会员都可以在其健身应用中查看每日锻炼详情。

需要设置一个 AWS 无服务器环境来处理 n 个 对 API 网关的请求。我对设置有一些疑问 无服务器环境

问题:

  1. 如何处理大量查询来到API网关(更多 超过 10000/秒)
  2. lambda 是否可以处理请求?数据写入DB如何处理?
  3. 什么样的 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


【解决方案1】:

如何处理大量查询来到API网关(超过10000/秒)

API GW 具有 10k 请求/秒的限制,具有可突增的容量。这是很多,所以你确定你真的需要这么多吗?

您可以使用 SQS 或 Kinesis 来处理更高的吞吐量。 (每个选项都有其优点和缺点)

lambda 是否可以处理请求?如何处理写入数据库的数据?

lambda 的默认并发限制为 1000(可根据要求增加),但使用 SQS 或 Kinesis 有助于“平滑”峰值并允许使用更合理的基础架构。

什么样的AWS Aurora适合处理请求。

一旦您使用写入事件排队,您就可以根据总吞吐量来选择实例类型,而不必担心峰值。

【讨论】:

  • AWS Aurora 或 Aurora serverless 是更好的选择吗?
  • @bibincatchme 这将取决于您的用例。试试看。当开始一个新项目或偶尔访问时,使用无服务器选项听起来很合理(我会)。在连续生产中,保留实例可以节省很多(一旦您知道需要多少实例)
猜你喜欢
  • 1970-01-01
  • 2019-06-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-21
  • 1970-01-01
  • 2017-10-31
  • 1970-01-01
相关资源
最近更新 更多