【问题标题】:Server vs Serverless for REST APIREST API 的服务器与无服务器
【发布时间】:2019-12-08 13:06:25
【问题描述】:

我有一个 REST API,我正在考虑使用无服务器模型进行部署。我的数据位于 AWS RDS 服务器中,出于安全原因需要将其放入 VPC。为了允许 Lambda 访问 RDS,我需要将 lambda 配置为在 VPC 中,但是根据我阅读的文章,这会使冷启动平均延长 8 秒。

REST API 用于网站,因此 8 秒的页面加载是不可接受的。

我是否可以使用无服务器模型来实现我的 REST API,还是应该只使用常规 EC2 服务器?

【问题讨论】:

    标签: mysql amazon-web-services aws-lambda serverless


    【解决方案1】:

    很遗憾,这还没有发布,但让我们希望这只是几周/几个月的事情。在 re:Invent 2018 上,AWS 推出了 Remote NAT for Lambda,将于今年(2019 年)推出。

    现在您必须将 RDS 暴露给外部(直接或通过隧道),但这是一个安全问题。或者在 VPC 中创建 Lambda ENI。

    为了让您的 Lambda 保持“温暖”,您可以创建一个预定的“ping”机制。您可以在Article of Yan Cui 中找到这种模式的一些示例。

    【讨论】:

    • 感谢您的信息。这是否意味着几乎没有人在使用 RDS 时将 lambdas 用于 REST API?我听说使用无服务器创建 REST API 是多么容易,所以我认为必须有一种方法可以看到 SQL 的普及程度。
    • 我个人在 VPC 中使用 Lambdas 用于 REST API 与 DB(不仅是 RDS,还有托管在 EC2 上的 Mongo)。首先,冷启动通常比提到的最大值快得多,为 1-3 秒。其次,容器通常寿命长达 24 小时,每个容器有数万次调用通常会忽略单次冷启动的问题。我什至不“预热”它们。这是一种常见的情况,即使有这么小的冷启动问题。
    猜你喜欢
    • 2018-10-24
    • 1970-01-01
    • 1970-01-01
    • 2021-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-30
    • 2017-08-15
    相关资源
    最近更新 更多