
# 配置API的流量控制
流量控制可限制单位时间内API的被调用次数，保护后端服务。为了提供持续稳定的服务，您可以创建流控策略，对绑定策略的API进行流量控制。若API被触发流量控制，则流控期间该API的所有调用请求都将被丢弃，并向调用方返回失败响应。
流量控制策略和API本身是相互独立的，只有将API绑定流量控制策略后，流量控制策略才对API生效。
#### 约束与限制
同一个API在同一个环境中只能绑定一个流控策略，一个流控策略可以绑定多个API。
 #### 创建流量控制策略
1. 登录[ROMA Connect控制台](https://console.huaweicloud.com/roma3)，在左侧导航栏选择"资源管理"，在实例页面单击实例，进入实例控制台。
2. 在左侧的导航栏选择"服务集成 APIC \> API策略"，在"策略管理"页签下单击"创建策略"。
3. 在选择策略类型弹窗中选择"传统策略 \> 流量控制"。
4. 在配置流控弹窗中配置策略信息。
   表1流控策略配置 
   | 参数      | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
   |:---|:---|
   | 策略名称    | 填写流控策略的名称，根据规划自定义。建议您按照一定的命名规则填写流控策略名称，方便您快速识别和查找。 支持汉字、英文、数字、下划线，且只能以英文和汉字开头，长度3-64字符。                                                                                                                                                                                                                                                                                                                                                                                                                               |
   | 类型      | 选择流控策略的类型。 - 基础流控：流控策略绑定的API，各自消费该策略的流控值。  - 共享流控：流控策略绑定的所有API，共同消费该策略的流控值。                                                                                                                                                                                                                                                                                |
   | 时长      | 填写流量控制的统计时长，单位可选择"秒"、"分钟"、"小时"和"天"，需与流量限制参数配合使用。 - 与"API流量限制"配合使用，表示单位时间内API被调用的次数上限。  - 与"用户流量限制"配合使用，表示单位时间内的单个用户调用API的次数上限。  - 与"凭据流量限制"配合使用，表示单位时间内的单个凭据调用API的次数上限。  - 与"源IP流量限制"配合使用，表示单位时间内的单个IP地址调用API的次数上限。   |
   | API流量限制 | 填写API被调用的次数上限，与"时长"配合使用。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
   | 用户流量限制  | 填写单个用户调用API的次数上限，与"时长"配合使用。参数值不能大于"API流量限制"的值。 Site实例中，不支持配置用户流量限制。                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
   | 凭据流量限制  | 填写单个凭据调用API的次数上限，与"时长"配合使用。参数值不能大于"API流量限制"的值。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
   | 源IP流量限制 | 填写单个IP地址调用API的次数上限，与"时长"配合使用。参数值不能大于"API流量限制"的值。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
   | 说明      | 填写流控策略的描述信息。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
      
   
5. 单击"确定"，创建流控策略。
   - 在策略列表中显示已创建的流量控制策略，表示策略创建成功。
   
   - 如果需要对某个集成应用进行流量控制，可以在流量控制策略中[为应用绑定流控策略]。
   
   - 如果需要对某个租户进行流量控制，可以在流量控制策略中[为租户绑定流控策略]。
    
6. 流控策略创建后，您还需要[为API绑定流控策略]，才能使流控策略对API生效。
   **策略的绑定、解绑、更新会实时生效，不需要重新发布API。**
   
 
 #### 为API绑定流控策略
1. 在"策略管理"页签右上角的过滤条件中选择"流量控制"。
2. 在页面中单击策略的名称，进入策略详情页面。
3. 在"绑定的API列表"页签下选择要绑定API的环境，然后单击"绑定API"。
4. 在绑定API弹窗中，勾选要绑定策略的API。 您可以通过指定API分组和API名称，筛选所需API。
   
5. 单击"确定"，完成API与流控策略的绑定。
 
 #### 为应用绑定流控策略
如果希望对某个集成应用进行流量控制，可以通过在流控策略中添加特殊应用实现。把集成应用添加到流控策略中后，该集成应用的凭据流量限制受特殊应用的阈值限制，API流量限制和用户流量限制受流控策略限制。
1. 在"策略管理"页签右上角的过滤条件中选择"流量控制"。
2. 在页面中单击流控策略的名称，进入策略详情页面。
3. 在"特殊凭据"页签下，单击"添加特殊应用"。
4. 在添加特殊应用弹窗中配置应用相关信息。
   表2特殊应用配置 
   | 参数   | 说明                                                                                                                                                                                                                                                             |
   |:---|:---|
   | 选择应用 | 选择集成应用的类型。 - 已有应用：用户自己创建的集成应用。  - 其他：其他用户创建的集成应用，需要填写当前实例下其他用户创建的集成应用ID。   |
   | 应用名称 | **仅当"选择应用"选择"已有应用"时需要配置。** 选择要绑定该流控策略的集成应用。                                                                                                                                                                                     |
   | 阈值   | 填写单位时间内，该集成应用调用API的次数上限。参数值不能大于流控策略的"API流量限制"值。                                                                                                                                                                                                                |
      
   
5. 单击"确定"，完成集成应用与流控策略的绑定。
 
 #### 为租户绑定流控策略
如果希望对某个租户进行流量控制，可以通过在流控策略中添加特殊租户实现。把租户添加到流控策略中后，该租户的用户流量限制受特殊租户的阈值限制，API流量限制和应用流量限制受流控策略限制。
1. 在"策略管理"页签右上角的过滤条件中选择"流量控制"。
2. 在页面中单击流控策略的名称，进入策略详情页面。
3. 在"特殊租户"页签下，单击"添加特殊租户"。
4. 在添加特殊租户弹窗中配置租户相关信息。
   表3特殊租户配置 
   | 参数   | 说明                                                                                                                                                                                                                                                                                                                                          |
   |:---|:---|
   | 租户ID | 填写要绑定该流控策略的租户ID。 - 使用APP认证方式调用API时，租户ID为使用的集成应用所属用户的项目ID。  - 使用IAM认证方式调用API时，租户ID为调用者的账号ID。   您可以单击控制台右上角的用户名，选择"我的凭证"，在我的凭证页面获取用户的项目ID和账号ID。 |
   | 阈值   | 填写单位时间内，该租户调用API的次数上限。参数值不能大于流控策略的"API流量限制"值。                                                                                                                                                                                                                                                                                               |
      
   
5. 单击"确定"，完成租户与流控策略的绑定。
 
