WSO2 API Manager 2.1:网关未强制限制限制

时间:2017-02-27 19:32:33

标签: wso2 wso2-am

我们已经在DC / OS 1.9(Mesos)上以分布式方式(每个组件,GW,TM,KM在他们自己的Docker映像中运行)部署了API-M 2.1。

我们遇到了让网关强制执行限制策略的问题(如果是订阅层或应用级策略)。以下是我们迄今为止定义的内容:

  1. 流量管理器本身可以正常工作:它接收事件流,动态分析它们并将事件推送到JMS主题throttledata

  2. 网关正确读取消息。 所以基本上我们已经放弃了沟通问题。

  3. 但是我们发现了两个潜在的问题:

    1. 在推送到TM组件的事件中,appTenant的值为 null (而不是carbon.super) - 我们定义了一个租户。
    2. 当网关收到限制消息时,它决定让消息认为“stopOnQuotaReach”设置为false,当它设置为true时(我们检查了数据库中的值)。
    3. 深入研究源代码,我们将这两个问题与单一来源相关联:上述两个值的值都是从authContext中读取的,显然设置不正确。我们陷入困境并且没有尝试的事情,并且需要一些指针来指出可能是问题的潜在来源和需要检查的事情。

      有人可以帮忙吗? 谢谢 - 伊莎贝尔。

2 个答案:

答案 0 :(得分:0)

系统中是否有两个启用了HA的TM?

如果TM启用HA,网关如何将数据发布到TM。它是否负载平衡数据发布或故障转移数据发布到TM?

您是否按照以下文章配置了与部署相关的环境?

http://wso2.com/library/articles/2016/10/article-scalable-traffic-manager-deployment-patterns-for-wso2-api-manager-part-1/

http://wso2.com/library/articles/2016/10/article-scalable-traffic-manager-deployment-patterns-for-wso2-api-manager-part-2/

完全不能在你的环境中工作吗?

您是否注意到网关节点中有任何与JMS连接相关的日志?

答案 1 :(得分:0)

在这些测试中,我们已禁用HA以避免可能的并发症。订阅和应用程序限制策略都不起作用,因为应该具有值的参数没有足够的值(appTenant,stopOnQuotaReach)。 我们的情景要基本得多。如果我们使用每个组件的一个实例,它就会失败,就像Isabelle所描述的那样。我们唯一知道的是两个参数都来自身份验证上下文。

谢谢!