【问题标题】:Are API a proper use case of serverless functions?API 是无服务器功能的正确用例吗?
【发布时间】:2019-07-22 16:28:44
【问题描述】:

假设我们的服务公开了一个具有 5 个端点的 API。无服务器架构是拆分此服务的好方法吗?我知道我们在内存、运行时间和冷启动方面存在限制,让我们假设这些可以得到缓解。

如果答案是肯定的......每个端点逻辑是否应该转到单独的 lambda 函数?随着 API 的增长,我担心这可能有点矫枉过正。我想听听你的经验

【问题讨论】:

    标签: architecture aws-lambda serverless-architecture


    【解决方案1】:

    无服务器架构是拆分此服务的好方法吗?

    您的问题的答案可能很烦人,这取决于。我们正在将 AWS Lambda 与 API 网关一起用于我们的一些 API,体验参差不齐。我们面临的最大问题是内存限制和冷启动。
    由于上述原因,我们尝试将 lambda 用于 API 的使用限制在以下用例中。

    1. 延迟不是很严重的内部 API。
    2. 不经常调用的 API,因此您不需要服务器 一直在运行。
    3. 执行从几个来源获取数据的简单任务的 API 并在此基础上进行一些调整。

    我不会将无服务器 lambda 架构用于我的主要生产负载,但有些人能够使用它,因此它可能取决于您所服务的用例。

    每个端点逻辑是否应该转到单独的 lambda 函数?

    同样,这取决于。如果您的 API 服务于相同的数据源,但不同的端点只是不同类型的数据过滤器,我将尝试使用相同的 Lambda 和多个 API 网关。
    但请注意不要在同一个 lambda 中处理太多 API 网关,因为您很容易得到非常复杂的 lambda 代码。

    关于同样的问题有一个很好的答案。 aws api gateway & lambda: multiple endpoint/functions vs single endpoint

    【讨论】:

      猜你喜欢
      • 2021-08-16
      • 2012-09-09
      • 2021-08-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多