全部产品
云市场

流量控制

更新时间:2019-08-12 12:01:38

流量控制现在合并进了插件体系。现存的流量控制界面与接口仍然可以使用,流量控制策略与流量控制插件属于同一种插件类型,受到同类型插件绑定的限制。

使用原有的流量控制接口或控制台创建或更改流量控制,会同步数据至插件系统,但不会反向同步。

使用说明

流量控制策略可以配置对 API、用户、应用三个对象的流控值,流控的单位可以是分钟、小时、天。使用流量控制策略您需要了解以下几点:

流量控制策略可以涵盖下表中的维度:

  • API 流量限制 该策略绑定的API在单位时间内被调用的次数不能超过设定值,单位时间可选分钟、小时、天,如5000次/分钟。
  • APP 流量限制 每个APP对该策略绑定的任何一个API在单位时间内的调用次数不能超过设定值。如50000次/小时。
  • 用户流量限制 每个阿里云账号对该策略绑定的任何一个 API 在单位时间内的调用次数不能超过设定值。一个阿里云账号可能有多个 APP,所以对阿里云账号的流量限制就是对该账号下所有 APP 的流量总和的限制。如 50 万次/天。

在一个流控策略插件里面,这三个值可以同时设置。请注意,用户流量限制应不大于 API 流量限制,APP 流量限制应不大于用户流量限制。即 APP 流量限制 <= 用户流量限制 <= API 流量限制。

此外,您可以在流控策略下添加特殊应用(APP)和特殊用户。对于特例,流控策略基础的 API 流量限制 依然有效,您需要额外设定一个阈值作为该 APP 或者该用户的流量限制值,该值不能超过策略的 API流量限制 值,同时流控策略基础的 APP流量限制 和 用户流量限制 对该 APP 或用户失效。

其余操作与限制,请参考插件总体介绍, 开发指南指南OPENAPI

插件配置

可以选择json或者yaml格式的来配置您的插件,两种格式的schema相同,可以搜索yaml to json转换工具来进行配置格式的转换,yaml格式的模板见下表

  1. ---
  2. unit: SECOND # 控制区间, 取值: SECOND, MINUTE, HOUR, DAY
  3. apiDefault: 1000 # 允许的总流量值
  4. userDefault: 30 # (可选)每个用户的默认流量最大值, 0表示不进行限制, 不能大于总流量值
  5. appDefault: 30 # (可选)每个APP允许的流量最大值, 0表示不进行限制, 不能大于总流量值
  6. specials: # (可选)特殊流控, 支持"APP"和"USER"两种特殊维度
  7. - type: "APP" # 针对不同应用(AK)进行的流控
  8. policies:
  9. - key: 10123123 # AppId, AppId的取值请在API网关控制台->应用管理->应用详情处查看
  10. value: 10 # 特殊流控值, 不能大于总流量值
  11. - key: 10123123 # AppId控
  12. value: 10 # 特殊流控值, 不能大于总流量值
  13. - type: "USER" # 针对不同的阿里云账户进行的流控
  14. policies:
  15. - key: 123455 # 阿里云账号ID, 可点击阿里云控制台左上角查看账号ID
  16. value: 100 # 特殊流控值, 不能大于总流量值