首页 > 解决方案 > 在 WSO2 API Manager 中添加新订阅策略并在 API 上应用

问题描述

我尝试创建一个新的订阅限制策略(10req/min)。我在发布 API 时选择了相同的选项,并且在订阅 API 时也选择了相同的店内选项。但是,它仍然需要超过 10req/min。

注意:我们在集群环境中使用 2 个节点。

标签: wso2wso2-am

解决方案


这可能是由于没有同步两个节点中的限制条件。因此,在这种情况下,每个节点将服务 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>

推荐阅读