【问题标题】:May i call service to service AWS Lambda directly in API Architecture?我可以直接在 API 架构中调用服务来为 AWS Lambda 提供服务吗?
【发布时间】:2018-06-30 00:56:51
【问题描述】:

这是我第一次使用 AWS Lambda 作为 API 架构。 因为我试图实现无服务器。 假设,我有三个微服务,所有微服务都托管在 AWS Lambda 上。 我使用 AWS API Gateway 作为路由器。我还在 API Gateway 中实现了 Jason Web 令牌。

这是前端将使用的公共 URL。

  1. URL 路由 API - https://mydomain.co/v1/lambda-service1 Lambda 真实网址 - https://cr7z0dds42.execute-api.ap-southeast-amazonaws.com/DEV/

  2. URL 路由 API - http://mydomain.co/v1/lambda-service2 Lambda 真实网址 - https://cr7z0ddgg2.execute-api.ap-southeast-amazonaws.com/DEV/

  3. API 路由 URL - http://mydomain.co/v1/lambda-service3 Lambda 真实网址 - https://cgf7z0ddgg2.execute-api.ap-southeast-amazonaws.com/DEV/

基本上,如果我目前是我的客户端/前端,我想使用 TOKEN 从 API 编号 1 调用数据,我将使用 API 路由 URL。 但有些情况下,API 1 需要调用服务 2 才能返回客户端/前端。 目前我所做的是通过 Lambda REAL URL 直接调用服务号 2,而不是不使用 TOKEN 从服务号 1 调用 API 路由 URL。

这样做合理吗?

【问题讨论】:

    标签: amazon-web-services lambda microservices


    【解决方案1】:

    如果我得到您的查询正确,也许下面可能会有所帮助。

    理由主要基于您期望正在开发的应用程序的规模以及您的组织/架构政策(您可能希望强制执行)。

    如果将令牌用于所有 API 调用并使其保持一致,那么当更广泛的开发团队在项目中工作时,它会变得容易。由于每个 Lambda 函数(输入/输出)逻辑的范围清晰且一致,因此也便于故障排除。

    另外一个想法是成本,API 调用确实会大规模地花费您。因此,在架构过程中也应该考虑到这一点。但是(在我看来)应用程序调用流程的一致性,因为它可能会为没有到达 API 网关的流量节省开支,在这种情况下,直接从 Lambda 向内部资源进行调用可能可以忽略不计。

    无论如何要考虑一些想法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-08-08
      • 2018-02-20
      • 2019-11-05
      • 2011-06-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多