【问题标题】:Should API gateway be coupled/uncoupled with the business logicAPI 网关是否应该与业务逻辑耦合/分离
【发布时间】:2019-10-30 15:03:43
【问题描述】:

我们正在尝试在我们的应用程序前面构建一个 API 网关(我们可能会尽快将应用程序拆分为微服务),但遇到了一些问题。

1 - 不同的 API 类型。

我们的应用中有两种API,大部分都是我们自己使用的(用户登录/注销,新闻添加/删除),我们这里称它们为Self-used API。并且某些 API 将被允许第三方使用,我们在这里称它们为Open API

他们都应该通过网关吗?

2 - 不同的身份验证

自用 API 可能需要用户登录或拥有相关权限,Open API 将要求第三方应用获取密钥,我们将使用该密钥来识别和限制请求速率。

是否应该在网关内完成各种认证?如果是,自用api认证是业务相关的,是不是这个api网关不能被其他应用共享?

此外,第三方开发者将创建他们的应用程序并取回密钥,他们还可以更新/删除应用程序(类似于 Google API 控制台)。

我不确定这是否应该放在网关或其他微服务中。 IMO,我更喜欢将这些功能放在一个新的服务中,但是验证和速率限制是在网关中完成的,这意味着对于每个请求,网关都必须通过服务的键来查询用户,速率限制和其他信息,这将使网关与业务再次耦合。

【问题讨论】:

    标签: api api-gateway


    【解决方案1】:

    实现 API 网关的方法有很多种。您可以将不同的端点与单个 API 网关一起使用。以下是一些相关的链接

    Serverless 博客《如何使用 Serverless 在一个 API 域下部署多个微服务》https://serverless.com/blog/api-gateway-multiple-services/

    Nginx“你真的需要不同类型的 API 网关吗?(提示:不!)”https://www.nginx.com/blog/do-you-really-need-different-kinds-of-api-gateways-hint-no/

    Sentialabs.io “Amazon API 网关类型、用例和性能”https://www.sentialabs.io/2018/09/13/API-Gateway-Types-Compared.html

    AWS API Gateway 常见问题解答https://aws.amazon.com/api-gateway/faqs/

    考虑一下您尝试通过您的方法实现的功能类型,以及 API Gateway 将如何帮助您解决这些问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-15
      • 2010-12-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多