【问题标题】:Azure APIM as forward proxyAzure APIM 作为转发代理
【发布时间】:2020-09-07 14:34:53
【问题描述】:

我正在寻找一些关于使用 Azure APIM 作为后端服务(例如函数应用或逻辑应用)和外部客户端之间的转发代理的设计指南。

我们有一个函数应用程序,它处理来自大型机系统的发票请求(针对先前下的订单),进行一些转换并通过 HTTP 将它们发送给外部方。在发送过程中,我有两种选择。

  1. 将外部 HTTP 端点存储为函数应用中的应用设置,并让函数应用发送 转换后的消息直接发送给外部方。

  2. 将转换后的消息发送到 Azure APIM,并将外部 HTTP 端点设置为后端服务(使用 set-backend-service APIM 策略),并让 APIM 将其转发给外部方。

现在,如果要求只是从安全或操作的角度将请求转发给外部方,那么第二种方法是否有任何真正的好处?无需丰富传出消息(添加或删除标题、修改消息正文等)。

就我个人而言,我所看到的只是第二种方法的额外跳跃。但我的一些队友似乎认为第二种方法可以在分析方面提供一些好处。 APIM --> Analytics 选项卡下有一些可用的指标,可让您查看成功、失败请求的数量等。但我认为这些信息也可用于与函数应用相关的 Application Insights。

只是想了解一些有关这方面的见解,以便我们做出明智的决定。

【问题讨论】:

    标签: azure azure-functions azure-api-management


    【解决方案1】:

    假设 Azure 函数只是 Azure API 管理实例的调用者,我想在你的情况下使用 Azure API 管理会是一种过度设计。

    尽管 Azure API 管理提供分析、url-rewrites、转换、分析等 - 当您使用它来管理 API 时更有意义。问自己一个问题,在您的案例中将充分利用多少 Azure API 管理功能。

    请记住,Azure API 设计管理是一种 API 治理工具,您可以在其中执行限制,通过使用隔离订阅密钥向不同的第 3 方授予对 API 的访问权限,从而通过 API 获利。在我看来,Azure API 管理涉及您需要将一些 API 分发给 3rd 方应用程序的场景,这显然不适用于您的情况。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-01-02
      • 2022-08-15
      • 2022-12-06
      • 1970-01-01
      • 2021-09-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多