【问题标题】:AWS API gateway call to multiple lambda functions possible?AWS API 网关可以调用多个 lambda 函数吗?
【发布时间】:2019-06-05 08:27:06
【问题描述】:

我们在 ECS 中实现了一个前端。该前端与 API 网关通信,后者又调用 Lambda 函数。我们正在为此架构实施灾难恢复解决方案。这不是完整的架构,但足以解决这个问题。因此,我们对 DNS 故障转移、路由策略等非常有把握,并且在为前端实施 DR 方面我们做得很好。现在我们转到第二部分,即 API Gateway 和 Lambda。对于 API 网关,我们得出结论,如果前端在 T 时间内没有收到响应,则前端可以检查 API 网关的健康状况,并将 T+delta t 作为 RTO。如果 API 网关不健康,它将向其他 AWS 区域的 API 网关发送请求。到这里为止我们都很好。但问题是,如果 lambda 在区域 A 中不起作用并且 API 网关在区域 B 中不起作用怎么办。在这种情况下,区域 A 的 API 网关应该能够调用区域 B 的 lambda,它也应该能够调用区域的 lambda一个健康的时候。

我想到的是,在我的 Terraform 代码中,我可以放置一些逻辑(显然以声明方式或一些变通方式),以便 API 网关应该只调用健康的 lambda 并将自身集成回 lambda当区域 A 的 lambda 恢复到健康状态时,区域 A 的值。这可以通过一些持续的健康检查来检查。但是,这需要一些努力。

虽然这是 AWS Lambda 无法在整个区域运行的罕见场景,但客户端是 E COM 巨头,如果我们提到 T+delta t 的 RTO,它应该在限制范围内。我们信任 AWS,但我们也希望在所有场景中都安全并具有最小的 RTO 和 RPO。

有没有更好的方法呢?我们能否以某种方式将多个 lambda 集成到 API 网关?

【问题讨论】:

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


【解决方案1】:

您不能将 API 网关方法与多个 lambda 集成。您必须检测 lambda 故障并重新部署整个 API 网关,其所有方法都指向其他区域中的 lambda。这需要一些时间,因此在切换 lambda 集成之前您将有一段时间的停机时间。

【讨论】:

    猜你喜欢
    • 2018-06-15
    • 2015-10-21
    • 2020-10-03
    • 1970-01-01
    • 2018-09-11
    • 2016-01-29
    • 2020-02-06
    • 2020-01-27
    • 2018-05-30
    相关资源
    最近更新 更多