【问题标题】:AWS API Gateway + Lamda - how to handle 1 million requests per secondAWS API Gateway + Lambda - 如何每秒处理 100 万个请求
【发布时间】:2020-11-24 03:27:32
【问题描述】:

我们希望为我们的初创公司创建无服务器架构,并希望支持每秒最多 100 万个请求和 5000 万活跃用户。我们如何使用 AWS 架构处理这个用例?

关于 AWS 文档,API Gateway 只能处理 10K 请求/秒,而 lamda 可以处理 1K 调用/秒,这对我们来说是不可接受的。

我们怎样才能克服这个限制?我们可以通过 AWS 支持请求此吞吐量,还是可以以某种方式连接到其他 AWS 服务(队列)?

谢谢!

【问题讨论】:

    标签: amazon-web-services aws-lambda aws-api-gateway


    【解决方案1】:

    您引用的那些数字是默认帐户限制。 Lambda 和 API Gateway 可以处理更多,但您必须向 Amazon 发送请求以提高您的帐户限制。如果您真的要每秒收到 100 万个 API 请求,那么您应该与 AWS 客户代表讨论。您确定大多数请求不会由 CloudFront 之类的缓存处理吗?

    【讨论】:

    • 当然我们可以缓存一些 GET 请求,但是在我们的例子中我们会使用大量的 POST/PUT 请求,我们需要确保它会被 AWS 处理
    • AWS 支持有一个请求提高速率限制的表格。请求 100 万 rps 将导致 API Gateway 团队与您互动,以了解您的用例并与您合作以提高您的限制并将负载测试加载到所需的水平。
    【解决方案2】:

    网关不是您的 API 服务器。 Lambda 是瓶颈。

    虽然网关可以每秒处理 100000 条消息(因为它正在通过消息队列),但 Lambda 的最高速度约为 2,200 rps,即使进行扩展 (https://amido.com/blog/azure-functions-vs-aws-lambda-vs-google-cloud-functions-javascript-scaling-face-off/)

    这与实际 API 框架实现有很大不同,其中规模高达 3,500+ rps...

    【讨论】:

      【解决方案3】:

      我认为您应该使用 Application Load Balancer。 它在 RPS 方面是无限的,并且对于大量请求可能更便宜。虽然它与 AWS 服务的集成较少,但总的来说,它拥有网关所需的一切。 https://dashbird.io/blog/aws-api-gateway-vs-application-load-balancer/

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-01-28
        • 1970-01-01
        • 2021-06-30
        • 2017-10-03
        • 1970-01-01
        • 2017-02-23
        • 2016-03-16
        • 1970-01-01
        相关资源
        最近更新 更多