
# 配置负载均衡OLC服务
#### 前提条件
需要具备AppStage服务运维岗位权限或运维管理员权限，权限申请操作请参见[申请权限](https://support.huaweicloud.com/usermanual-appstage/appstage_04_0009.html)。
 #### 新增资源
资源用于定义规则中要匹配的微服务名称和接口名称。如果需要对微服务下所有接口的请求总数进行限制，需要配置微服务资源；如果需要对某一个特定的接口的请求总数进行限制，则需要配置接口级资源。
1. [进入AppStage运维中心](https://support.huaweicloud.com/usermanual-wiseeye/appstage_04_0089.html#appstage_04_0089__zh-cn_topic_0000001896253866_zh-cn_topic_0000001785965698_section11734269409)。
2. 在顶部导航栏选择服务。
3. 单击![](https://support.huaweicloud.com/usermanual-wiseeye/zh-cn_image_0000002158913162.png)，选择"微服务开发 \> 负载均衡"。
4. 选择左侧导航栏的"过载控制管理 \> OLC服务"。
5. 单击待配置OLC服务的名称，进入流控服务详情页面。
6. 选择"资源列表"页签，单击"新增资源"。
7. 配置资源相关参数，配置完成后单击"保存"。 
   - 微服务资源
     表1微服务资源参数说明 
     | 参数    | 说明                                                                                                                                                                                                                            |
     |:---|:---|
     | 资源类别  | 选择微服务，对微服务下所有接口的请求总数进行限制。                                                                                                                                                                                                     |
     | 资源名称  | 资源标识名称，用于后续添加规则。 字符长度0\~400，可以由字母、数字、下划线、短横线组成，不包含特殊字符。                                              |
     | 微服务名称 | 填写需要进行流控的微服务名称。 支持添加多个，使用英文逗号分隔，支持数字、字母，或特殊字符（\`\~!@#$%\^\&\*-=_+\[\]{}"';:,./\<\>?\\），长度不超过400个字符。 |
        
     
   
   - 接口资源
     表2接口资源参数说明 
     | 参数    | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
     |:---|:---|
     | 资源类别  | 选择接口，对某一个特定的接口的请求总数进行限制。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
     | 资源名称  | 资源标识名称，用于后续添加规则。 字符长度0\~400，可以由字母、数字、下划线、短横线组成，不包含特殊字符。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
     | 微服务名称 | 填写需要进行流控的微服务名称。 支持添加多个，使用英文逗号分隔，支持数字、字母，或特殊字符（\`\~!@#$%\^\&\*-=_+\[\]{}"';:,./\<\>?\\），长度不超过400个字符。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
     | 匹配类型  | 接口名称的匹配类型，支持以下两种： - 精确匹配  - 正则匹配                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
     | 接口等级  | 接口的重要程度，用于节点级动态流控，系统过载时优先放通核心接口。 - 核心接口  - 次核心接口  - 重要接口  - 次重要接口  - 一般接口   |
     | 接口名称  | 填写需要进行流控的接口名称。 - 当匹配类型为"精确匹配"时，支持添加多个接口名称，使用英文逗号分隔；支持数字、字母，或特殊字符（\`\~!@#$%\^\&\*-=_+\[\]{}"';:,./\<\>?\\），长度不超过400个字符。支持"\*"通配符，表示所有接口。  - 当匹配类型为"正则匹配"时，支持Java正则表达式，通配符和正则匹配到的多个不同接口会各自统计流量信息各自流控。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
        
     
   
   
   
   
8. 在弹出框中单击"确认"。
 
#### 新增流控规则
流控规则支持针对微服务/接口的资源流控、不区分微服务接口的全局参数流控和节点级动态流控规则。
1. 在流控服务详情页面，选择"流控规则"页签，单击"新增流控规则"。
2. 配置流控规则相关参数，配置完成后单击"保存"。 
   - 资源流控
     表3资源流控参数说明 
     | 参数                                                                                                                                        | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
     |:---|:---|
     | 限流控制类型                                                                                                                                    | 选择资源流控，针对微服务/接口资源进行流控。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
     | 资源名称                                                                                                                                      | 选择[新增资源]中创建的资源名称，与微服务/接口绑定，每个资源最多创建4条规则，规则的限流控制类型和是否集群流控不能重复。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
     | 流控类别                                                                                                                                      | - QPS：每秒速率流控。  - 配额：特定时间的请求阈值。                                                                                                                                    |
     | 限流阈值                                                                                                                                      | 流控阈值，整个微服务/接口调用总量的阈值，如果请求总量超过该阈值，后续请求会被流控；0表示不流控。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
     | 禁用时间                                                                                                                                      | 当流控类别为QPS时，显示该参数。 流控后禁用时间内的所有请求不再判断请求量，直接全部流控。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
     | 允许的突增量                                                                                                                                    | 当流控类别为QPS时，显示该参数。 流控突发量，该参数可以调整令牌桶的大小，令牌桶大小为（阈值+突增量）/时间窗口，时间窗口单位为s。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
     | 是否集群限流                                                                                                                                    | 选择是否开启开关，开启后对集群内此资源的调用总量进行限制。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
     | 集群限流阈值模式  | 当流控类别为QPS，开启集群限流时，显示该参数。 - 单机均摊  - 总体阈值   |
     | 本地配额缓存数                                                                                                                                   | 当流控类别为配额，开启集群限流时，显示该参数。 本地配额缓存数是指本地（通常是部署OLC服务的服务器或节点上）缓存的配额数量，通过在本地缓存一定数量的配额信息，减少对DCS的直接访问，从而降低热点key对DCS的影响。默认值为5。 该参数需要合理配置，配置过小容易造成热点key问题，配置过大可能导致部分节点放通部分节点流控的问题。                                                                                                                                                                                                                                                                                                                                                                                 |
     | 时间窗口                                                                                                                                      | 填写时间，单位为秒，表示间隔多少秒允许一个请求通过。默认为1秒，取值范围为1\~86400。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
     | 是否开启流控规则                                                                                                                                  | 选择是否开启流控规则。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
     | 新增参数                                                                                                                                      | 单击"新增参数"，可以根据需要新增多条流控规则。 单击新增参数列表前的![](https://support.huaweicloud.com/usermanual-wiseeye/zh-cn_image_0000002194314033.png)，单击"新增参数值"，可以为参数配置多条参数值。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
        
     
   
   - 全局参数流控
     全局参数流控规则与资源流控的参数级规则含义类似，仅不对微服务/接口做限制。
     表4全局参数流控参数说明 
     | 参数                                                                                                                                        | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
     |:---|:---|
     | 限流控制类型                                                                                                                                    | 选择全局参数                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
     | 参数名称                                                                                                                                      | 填写参数名称。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
     | 流控类别                                                                                                                                      | - QPS：每秒速率流控。  - 配额：特定时间的请求阈值。                                                                                                                            |
     | 限流阈值                                                                                                                                      | 流控阈值，默认的参数阈值，如果没有指定参数值，都按该阈值进行流控。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
     | 禁用时间                                                                                                                                      | 当流控类别为QPS时，显示该参数。 流控后禁用时间内的所有请求不再判断请求量，直接全部流控。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
     | 允许的突增量                                                                                                                                    | 当流控类别为QPS时，显示该参数。 流控突发量，该参数可以调整令牌桶的大小，令牌桶大小为（阈值+突增量）/时间窗口，时间窗口单位为s。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
     | 是否集群限流                                                                                                                                    | 选择是否开启开关，开启后对集群内此资源的调用总量进行限制。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
     | 集群限流阈值模式  | 当流控类别为QPS，开启集群限流时，显示该参数。 - 单机均摊  - 总体阈值   |
     | 本地配额缓存数                                                                                                                                   | 当流控类别为配额，开启集群限流时，显示该参数。 本地配额缓存数是指本地（通常是部署OLC服务的服务器或节点上）缓存的配额数量，通过在本地缓存一定数量的配额信息，减少对DCS的直接访问，从而降低热点key对DCS的影响。默认值为5。 该参数需要合理配置，配置过小容易造成热点key问题，配置过大可能导致部分节点放通部分节点流控的问题。                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
     | 时间窗口                                                                                                                                      | 填写时间，单位为秒，表示间隔多少秒允许一个请求通过。默认为1秒，取值范围为1\~86400。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
     | 是否开启流控规则                                                                                                                                  | 选择是否开启流控规则。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
     | 新增参数值                                                                                                                                     | 单击"新增参数值"，配置多条参数值。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
        
     
   
   - 节点级动态流控
     表5节点级动态流控参数说明 
     | 参数       | 说明                                                                                                                                                                                          |
     |:---|:---|
     | 限流控制类型   | 选择节点级动态流控。                                                                                                                                                                                  |
     | 是否开启流控规则 | 选择是否开启流控规则。                                                                                                                                                                                 |
     | CPU过载阈值  | CPU利用率超过该值时，接口的放通比例开始降低，直到降低至最低放通比例；CPU利用率越高，接口放通比例下降越快。该阈值要求为小数，范围为0\~1，支持精度为小数点后四位。                                                                                                       |
     | CPU恢复阈值  | CPU利用率小于该值时，接口的放通比例开始恢复，直到恢复至100%；CPU利用率越低，接口放通比例恢复越快。该阈值要求为小数，范围为0\~1，支持精度为小数点后四位，并且小于CPU过载阈值。                                                                                             |
     | 最低放通比例   | 配置各个接口等级对应的最低放通比例，在CPU始终处于过载状态时，仍然能放通该比例的请求。 范围为0\~1，支持精度为小数点后四位。 |
        
     
   
   
   
   
3. 在弹出框中单击"确认"。
 
#### 新增黑白名单
黑名单规则会直接流控满足规则的请求，白名单规则会放通满足规则的请求。
1. 在流控服务详情页面，选择"黑白名单"页签，单击"新增黑白名单"。
2. 配置黑白名单相关参数，参数说明如[表6]所示。配置完成后单击"保存"。
   
    表6新增黑白名单参数说明 
   | 参数     | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
   |:---|:---|
   | 资源名称   | 选择全局黑白名单或具体资源，全局黑白名单不限制微服务/接口，资源黑白名单则限制特定的微服务/接口。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
   | 参数名称   | 接口的参数名称。 字符长度0\~50，可以由字母、数字、下划线、短横线、点组成，不能包含特殊字符，例：black_rule-001。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
   | 名单类型   | - 白名单  - 黑名单   每个资源或全局黑白名单下，同一参数名称只支持添加黑白名单各一条。 |
   | 开启黑白名单 | 选择是否开启黑白名单。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
   | 名单列表   | 黑白名单列表。如果存在多个，使用英文逗号分隔，不允许存在空格。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
      
   
   
3. 在弹出框中单击"确认"。
 
#### 新增熔断规则
1. 在流控服务详情页面，选择"熔断规则"页签，单击"新增熔断规则"。
2. 配置熔断规则相关参数，参数说明如[表7]所示。配置完成后单击"保存"。
   
    表7新增熔断规则参数说明 
   | 参数        | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
   |:---|:---|
   | 资源名称      | 选择[新增资源]中创建的资源名称，与微服务/接口绑定，每个资源最多创建4条规则，规则的熔断模式不能重复。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
   | 开启熔断规则    | 选择是否开启熔断规则。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
   | 熔断模式      | - 直接失败：所有请求都熔断。  - 平均响应时间：当监测时间窗口内持续进入5个请求，每个请求对应时刻的平均响应时间（毫秒级）均超过阈值，资源进入熔断降级状态，那么在接下的时间窗口之内，对这个方法的调用都会自动地熔断。  - 异常比例：当监测时间窗口内资源的请求量\>=请求量阈值（默认为5），并且监测时间窗口内异常总数占通过量的比值超过阈值之后，资源进入熔断降级状态，即在接下的时间窗口之内，对这个方法的调用都会自动地返回。  - 异常数：当资源在监测时间窗口内的异常数目超过阈值之后会进行熔断。   |
   | 熔断时间窗口    | 熔断发生时的持续时间，单位为秒，取值范围5\~86400。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
   | 平均响应时间    | 当熔断模式为平均响应时间时，配置时间，单位为ms。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
   | 异常比例      | 当熔断模式为异常比例时，配置异常比例，取值范围为0.0\~1.0。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
   | 异常数       | 当熔断模式为异常数时，配置异常数。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
   | 单位时间窗口    | 用于统计服务调用情况的时间窗口大小，单位为秒。 如果在单位时间窗口内统计的服务调用情况超过了请求量阈值，就可能触发熔断机制。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
   | 熔断结束后检测次数 | 熔断结束后的试探次数，默认为10。在熔断时间窗口结束后，熔断器会根据配置的检测次数进行试探性调用，允许一定数量的请求通过，然后重新计算单位时间窗口内请求的熔断指标（如成功率、响应时间等）是否超过阈值；对于异常数模式，如果试探次数小于配置的异常数阈值，那么只有所有试探请求都异常时才重新进入熔断状态。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
   | 连续失败梯度    | 连续失败是指接口调用失败进入熔断阶段，熔断结束后进入试探阶段，试探结束后接口调用依然失败，又进入熔断阶段，连续失败时熔断持续时间按照该梯度递增，试探阶段试探次数按照该梯度递减，比如如果梯度为0.1，初始熔断持续时间为10秒，试探次数为10次，比如第二次熔断持续时间会在10秒的基础上增加1秒（10\*0.1=1秒），变为11秒；试探次数会在10次的基础上减少1次（10\*0.1=1次），变为9次。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
   | 最大梯度次数    | - 连续失败次数达到最大梯度次数后，熔断持续时间和试探次数保持不变，不再递增或递减。  - 连续失败梯度有值时才起作用。  - 最大梯度次数值为正整数。  - 默认值为10。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
   | 请求量阈值     | 当熔断模式为平均响应时间和异常比例时，可以选择配置。 只有当监测时间窗口内的请求数目不小于该阈值时，才开始计算平均响应时间和异常比例，该阈值在熔断结束后的试探状态不生效。平均响应时间模式下，请求量阈值默认为1，异常比例模式下，默认值为5。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
      
   
   
3. 在弹出框中单击"确认"。
 
#### 更多操作
表8相关操作 
| 操作       | 说明                                  |
|:---|:---|
| 编辑流控服务配置 | 在流控服务详情页面，选择待编辑的配置项相应页签，单击操作列的"编辑"。 |
| 删除流控服务配置 | 在流控服务详情页面，选择待删除的配置项相应页签，单击操作列的"删除"。 |
   
