如何将不同的策略应用于服务和代理服务?

时间:2017-03-31 03:54:03

标签: mule microservices

我有一个名为IS的mule服务,部署在mule运行时并在API网关上代理。我想为IS及其代理服务设置不同的策略。我该怎么办?

我的环境:

  • 骡子运行时间:3.7.4
  • Mule API网关:2.1.1

4 个答案:

答案 0 :(得分:1)

以下是两个有效且同样正确的解决方案,您可以选择,同时考虑到您的实现API是Mule应用程序:

  • 在API平台上创建API

解决方案A:

  1. 配置自动生成的代理以使用您的实施API网址
  2. Deploy the proxy到正确配置的API Gateway / Mule运行时 > = v3.8.0
  3. 将一个或多个策略应用于跟踪代理
  4. 解决方案B:

    1. 使用相同的API将autodiscovery添加到您的实施API 名称和API版本名称,而不是您在API上创建的API 平台
    2. 将impl应用程序部署到正确配置的API 网关/ Mule运行时> = v3.8.0
    3. 将一个或多个政策应用于跟踪的实施应用
    4. 使用解决方案A,您必须确保您的实施应用程序只能由代理应用程序访问(例如,使用防火墙)。

      如果您的实施API不是Mule应用程序,那么解决方案B就不可能。

答案 1 :(得分:0)

如果您在API Manager外部创建API,我们可以使用代理创建端点或选择基本端点,例如,您使用Mule ESB创建了API。在这种情况下,您不需要代理。因此,政策将应用于API。有关详细信息,请浏览链接。 https://docs.mulesoft.com/api-manager/setting-up-an-api-proxy

答案 2 :(得分:0)

如果您正在使用Mule运行时v3.8.x,并且该服务是HTTP / S侦听器,您实际上可以在API管理器中自动发现它并直接在其上应用策略,即使mule config不是使用API​​kit生成的。

https://docs.mulesoft.com/api-manager/api-auto-discovery

选择您希望API Manager管理和应用策略的流程。

请注意,您需要在Mule Runtime许可证中拥有正确的权利(API网关),并且它具有在wrapper.conf中配置的正确的Anypoint平台客户端ID /密钥对。如果您已在Anypoint Runtime Manager中添加Mule Runtime服务器,则应自动配置ID。

答案 3 :(得分:0)

以下是我将策略应用于代理服务的解决方案:

  1. 使用代理服务&#url
  2. 创建新API
  3. 将策略应用于在步骤1中创建的API
  4. 有人能证实这是正确的方法吗?