更新时间:2025-05-19 GMT+08:00
分享

配置负载均衡OLC服务

前提条件

需要具备AppStage服务运维岗位权限或运维管理员权限,权限申请操作请参见申请权限

新增资源

资源用于定义规则中要匹配的微服务名称和接口名称。如果需要对微服务下所有接口的请求总数进行限制,需要配置微服务资源;如果需要对某一个特定的接口的请求总数进行限制,则需要配置接口级资源。

  1. 进入AppStage运维中心
  2. 在顶部导航栏选择服务。
  3. 单击,选择微服务开发 > 负载均衡
  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。

      是否开启流控规则

      选择是否开启流控规则。

      新增参数

      单击“新增参数”,可以根据需要新增多条流控规则。

      单击新增参数列表前的,单击“新增参数值”,可以为参数配置多条参数值。

    • 全局参数流控
      全局参数流控规则与资源流控的参数级规则含义类似,仅不对微服务/接口做限制。
      表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 相关操作

操作

说明

编辑流控服务配置

在流控服务详情页面,选择待编辑的配置项相应页签,单击操作列的“编辑”

删除流控服务配置

在流控服务详情页面,选择待删除的配置项相应页签,单击操作列的“删除”

相关文档