基础流控插件

最近更新时间: 2024-10-17 17:10:00

操作场景

基础流量控制插件是 API 网关提供的强大流控限制,支持API、应用、ClientIP 三个维度的限流和秒、分钟、小时、天的限流。您可创建基础流控插件并绑定到 API 生效,以保护您的后端服务。

操作步骤

步骤1:创建插件

  1. 登录 API 网关控制台。

  2. 在左侧导航栏,单击插件,进入插件列表页。

  3. 单击页面左上角的新建,选择插件类型为基础流量控制,新建一个基础流量控制插件。

参数 是否必填 说明
控制时长 必填 流量控制的时长单位,支持设置秒、分钟、小时、天四种维度。与"流控值" 配合使用,表示单位时间内的请求次数上限。
API 流控值 必填 API 流控值是指时长内一个 API 能够被访问的次数上限。
应用流控值 选填 对绑定了该 API 的所有应用生效,指时长内一个应用能够被访问的次数上限。
客户端 IP 流控值 选填 对绑定了该 API 的所有客户端 IP(ClientIP)生效,指时长内一个 ClientIP 能够被访问的次数上限。
特殊应用 选填 最多可填写30个。对于特例,流控策略基础的 API 流量限制依然有效,您需要额外设定一个阈值作为该应用的流量限制值,同时流控策略基础的 App 流量限制和用户流量限制对该应用失效。
特殊 ClientIP 选填 最多可填写30个。对于特例,流控策略基础的 API 流量限制依然有效,您需要额外设定一个阈值作为该 ClientIP 的流量限制值,同时流控策略基础的 App 流量限制和 ClientIP 流量限制对该应用失效。

步骤2:绑定 API 并生效

  1. 在列表中选中刚刚创建好的插件,单击操作列的绑定 API。

  2. 在绑定 API 弹窗中选择服务和环境,并选择需要绑定插件的 API。

  1. 单击确定,即可将插件绑定到 API,此时插件的配置已经对 API 生效。

PluginData

{
    "expire_type":"hour", // 限流时间窗口单位,取值范围:[day, hour, minute, second]
    "expire":1, // 限流时间窗口大小
    "api_rate_limit":500, // API 流控值,需要为正整数
    "app_rate_limit":1, // 应用流控值,需要为正整数
    "ip_rate_limit":2, // 客户端 IP 流控值,需要为正整数
    "spec_app_rate_limits":[ // 特殊应用流控列表
        {
            "app_id":"app-3q9l4909", // 应用 ID
            "rate_limit":10 // 流控值,需要为正整数
        }
    ],
    "spec_ip_rate_limits":[ // 特殊客户端 IP 流控列表
        {
            "ip_key":"172.16.0.1", // 客户端 IP
            "rate_limit":10 // 流控值,需要为正整数
        }
    ]
}

注意事项

基础流控插件会受到服务流量控制、API 流控控制的影响;如果多种流控同时生效,最终流控值取最小限制。例如:在基础流控插件中设置某 API 的流控为 500QPS,此时该 API 所属服务流控值为 100QPS,API 本身流控值为 50QPS,实际最终生效的流控值是 50QPS。