
# 使用APIG专享版的流量控制2.0策略实现API的精细流控实施步骤
1. 创建策略。
   
   1. 登录[API网关控制台](https://console.huaweicloud.com/apig2/#/overview)，创建流量控制2.0策略。
   
   2. 在左侧导航栏中选择"API管理 \> API策略"，单击"创建策略"，在弹窗中选择"流量控制2.0"。
   
   3. 根据流控诉求，配置策略基本信息。
      表1策略基本信息 
      | 参数     | 配置说明                           |
      |:---|:---|
      | 策略名称   | 根据规划自定义名称。                     |
      | 流控类型   | 此处选择"高性能流控"模式。                 |
      | 策略生效范围 | 此处选择"单个API生效"，对单个API进行流量统计和控制。 |
      | 时长     | 流量限制时长，根据诉求填写60秒。              |
         
      
   
   
   
   
2. 基础流控配置。
   
   根据[1](https://support.huaweicloud.com/bestpractice-apig/apig-bp-0010.html#apig-bp-0010__zh-cn_topic_0000001369627626_li165462014518)，默认API在60秒内的流量限制为100次，用户流量限制为5次。
   表2基础流控配置 
   | 参数        | 配置说明 |
   |:---|:---|
   | API流量控制限制 | 100  |
   | 用户流量控制限制  | 5    |
      
   
   
3. 参数流控配置。
   
   1. 根据[2](https://support.huaweicloud.com/bestpractice-apig/apig-bp-0010.html#apig-bp-0010__zh-cn_topic_0000001369627626_li165413203519)，开启参数流控配置开关进行参数流量控制，定义参数Host并定义对应的规则。
      1. 在"定义参数"区域，单击"添加参数"，在"参数位置"列选择"header"，在"参数"列填写"Host"。
      
      2. 在"定义规则"区域，单击"添加规则"，生效维度选择"规则限流"，API流量限制设置为10次，时长为60秒；单击![](https://support.huaweicloud.com/bestpractice-apig/zh-cn_image_0000002108775261.png)编辑条件规则，设置"条件表达式配置"中匹配条件为"Host = www.abc.com"。
         ![](https://support.huaweicloud.com/bestpractice-apig/zh-cn_image_0000002367981208.png "点击放大")
         
      
      3. 单击"确定"，生成参数header为Host对应的匹配规则"Host = www.abc.com"，表示在60s内，对于请求头中Host参数等于"www.abc.com"的API，且API调用次数达到10，参数流控规则限流生效。
       
   
   2. 根据[3](https://support.huaweicloud.com/bestpractice-apig/apig-bp-0010.html#apig-bp-0010__li10128192433612)，定义参数test_header并定义对应的规则。
      1. 在"定义参数"区域，单击"添加参数"，在"参数位置"列选择"header"，在"参数"列填写"test_header"。
      
      2. 在"定义规则"区域，单击"添加规则"，生效维度选择"参数限流"，流控参数中选择test_header，API流量限制设置为20次，时长为60秒；单击![](https://support.huaweicloud.com/bestpractice-apig/zh-cn_image_0000002378594194.png)编辑条件规则，设置"条件表达式配置"中匹配条件为"test_header = userA"OR"test_header = userB"。
         ![](https://support.huaweicloud.com/bestpractice-apig/zh-cn_image_0000002412073761.png "点击放大")
         
      
      3. 在"定义规则"区域，单击"添加规则"继续添加规则，生效维度选择"参数限流"，流控参数中选择test_header，API流量限制设置为10次，时长为60秒；单击![](https://support.huaweicloud.com/bestpractice-apig/zh-cn_image_0000002412193593.png)编辑条件规则，设置"条件表达式配置"中匹配条件为"test_header != userA"AND"test_header != userB"。
         ![](https://support.huaweicloud.com/bestpractice-apig/zh-cn_image_0000002378434342.png "点击放大")
         
      
      4. 单击"确定"，生成关于请求头test_header的参数限流，表示对于值userA和userB，每个独立限流20次/60s；对于其他取值，每个独立限流10次/60秒。
       
   
   
   
   3. 根据[4](https://support.huaweicloud.com/bestpractice-apig/apig-bp-0010.html#apig-bp-0010__zh-cn_topic_0000001369627626_li1665452011518)、[5](https://support.huaweicloud.com/bestpractice-apig/apig-bp-0010.html#apig-bp-0010__zh-cn_topic_0000001369627626_li1165432015517)，定义参数Path对应的多重规则。
      1. 在"定义规则"区域，单击"添加规则"，生效维度选择"规则限流"，API流量限制设置为10次，时长为60秒；单击![](https://support.huaweicloud.com/bestpractice-apig/zh-cn_image_0000002073055634.png)编辑条件规则，设置"条件表达式配置"中的匹配条件。
      
      2. 依次添加三个条件表达式，请求路径为"reqPath= /fc"和"reqPath= /list"，请求方法为"method=get"。
      
      3. 单击"转子层级"，进一步划分子层级约束条件。
      
      4. 两个请求路径"reqPath"条件表达式为互斥关系，故将"AND"关系改为"OR"，表示请求路径为"reqPath= /fc"或者"reqPath= /list"。
      
      5. 将"reqPath= /list"和"method= get"两个匹配条件进行约束，选中二者，单击"确定转子层级"，匹配条件默认为"AND"关系。 ![](https://support.huaweicloud.com/bestpractice-apig/zh-cn_image_0000002226586709.png "点击放大")
         
      
      6. 单击"确定"。表示在60s内，对于请求路径为"reqPath= /list"且请求方法为"method= get"的API或请求路径为"reqPath= /fc"的API，在API调用次数达到10次时，参数流控规则限流生效。
       
   
   
   
   
4. 特殊流控配置。
   
   根据[6](https://support.huaweicloud.com/bestpractice-apig/apig-bp-0010.html#apig-bp-0010__zh-cn_topic_0000001369627626_li16654152018519)，开启特殊流控配置。对特殊租户Special Renter进行流量控制，限制该租户60秒内允许调用API的最大次数为5次。
   表3特殊流控配置 
   | 参数   | 配置说明                |
   |:---|:---|
   | 租户ID | 租户Special Renter的ID |
   | 阈值   | 5                   |
      
   
   
5. 单击"确定"，流量控制2.0策略配置完成。
6. 绑定API。
   
   1. 单击策略名称，进入策略详情。
   
   2. 在"关联API"区域，选择RELEASE环境，单击"绑定API"。选择需要绑定的API，单击"确定"。
   
   
   
   
7. 验证。
   
   通过相应的请求URL调用API，验证流量控制2.0策略是否生效。
   
   
 
