wso2 - 在 WSO2 API Manager 中添加新订阅策略并在 API 上应用
问题描述
我尝试创建一个新的订阅限制策略(10req/min)。我在发布 API 时选择了相同的选项,并且在订阅 API 时也选择了相同的店内选项。但是,它仍然需要超过 10req/min。
注意:我们在集群环境中使用 2 个节点。
解决方案
这可能是由于没有同步两个节点中的限制条件。因此,在这种情况下,每个节点将服务 10 个请求/分钟。总计,20 个请求/分钟。
要解决此问题,您应该将每个节点的限制事件发布到两个节点。
节点 1 - 发布到节点 1 和节点 2
节点 2 - 发布到节点 2 和节点 1。
这样,两个节点都有节流事件,因此将正确地做出节流决策。
在每个节点中,您必须进行以下配置
<ThrottlingConfigurations>
<EnableAdvanceThrottling>true</EnableAdvanceThrottling>
<DataPublisher>
<Enabled>true</Enabled>
<Type>Binary</Type>
<ReceiverUrlGroup>{tcp://node1_ip:9612, tcp://node2_ip:9612}</ReceiverUrlGroup>
<!--ReceiverUrlGroup>tcp://${carbon.local.ip}:9612</ReceiverUrlGroup-->
<AuthUrlGroup>{ssl://node1_ip:9712, ssl://node2_ip:9713}</AuthUrlGroup>
<!--AuthUrlGroup>ssl://${carbon.local.ip}:9712</AuthUrlGroup-->
<Username>${admin.username}</Username>
</ThrottlingConfigurations>
推荐阅读
- python - SSHException:通道关闭
- xml - 根据值移除 SVG/XML 子元素
- java - 如何在网络应用程序中将谷歌日历与 acc 同步
- google-bigquery - 如何在 where 条件下选择两个事件名称值
- android - 将 iPhone 应用程序徽标转换为 Android
- oauth-2.0 - 使用 Jhipster 和 okta 在用户上添加自定义字段
- datatable - 未捕获的错误:第 29 行有 1 列,但必须有 32
- python - 尝试创建 egg 文件时限制包不起作用
- matlab - 仅根据一列对矩阵进行排序
- angularjs - 使模块加载 JSON Karma AngularJS