配置负载均衡OLC服务
前提条件
需要具备AppStage服务运维岗位权限或运维管理员权限,权限申请操作请参见申请权限。
新增资源
资源用于定义规则中要匹配的微服务名称和接口名称。如果需要对微服务下所有接口的请求总数进行限制,需要配置微服务资源;如果需要对某一个特定的接口的请求总数进行限制,则需要配置接口级资源。
- 进入AppStage运维中心。
- 在顶部导航栏选择服务。
- 单击
,选择 。
- 选择左侧导航栏的 。
- 单击待配置OLC服务的名称,进入流控服务详情页面。
- 选择“资源列表”页签,单击“新增资源”。
- 配置资源相关参数,配置完成后单击“保存”。
- 微服务资源
表1 微服务资源参数说明 参数
说明
资源类别
选择微服务,对微服务下所有接口的请求总数进行限制。
资源名称
资源标识名称,用于后续添加规则。
字符长度0~400,可以由字母、数字、下划线、短横线组成,不包含特殊字符。
微服务名称
填写需要进行流控的微服务名称。
支持添加多个,使用英文逗号分隔,支持数字、字母,或特殊字符(`~!@#$%^&*-=_+[]{}"';:,./<>?\),长度不超过400个字符。
- 接口资源
表2 接口资源参数说明 参数
说明
资源类别
选择接口,对某一个特定的接口的请求总数进行限制。
资源名称
资源标识名称,用于后续添加规则。
字符长度0~400,可以由字母、数字、下划线、短横线组成,不包含特殊字符。
微服务名称
填写需要进行流控的微服务名称。
支持添加多个,使用英文逗号分隔,支持数字、字母,或特殊字符(`~!@#$%^&*-=_+[]{}"';:,./<>?\),长度不超过400个字符。
匹配类型
接口名称的匹配类型,支持以下两种:
- 精确匹配
- 正则匹配
接口等级
接口的重要程度,用于节点级动态流控,系统过载时优先放通核心接口。
- 核心接口
- 次核心接口
- 重要接口
- 次重要接口
- 一般接口
接口名称
填写需要进行流控的接口名称。
- 当匹配类型为“精确匹配”时,支持添加多个接口名称,使用英文逗号分隔;支持数字、字母,或特殊字符(`~!@#$%^&*-=_+[]{}"';:,./<>?\),长度不超过400个字符。支持“*”通配符,表示所有接口。
- 当匹配类型为“正则匹配”时,支持Java正则表达式,通配符和正则匹配到的多个不同接口会各自统计流量信息各自流控。
- 微服务资源
- 在弹出框中单击“确认”。
新增流控规则
流控规则支持针对微服务/接口的资源流控、不区分微服务接口的全局参数流控和节点级动态流控规则。
- 在流控服务详情页面,选择“流控规则”页签,单击“新增流控规则”。
- 配置流控规则相关参数,配置完成后单击“保存”。
- 资源流控
表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,支持精度为小数点后四位。
- 资源流控
- 在弹出框中单击“确认”。
新增黑白名单
黑名单规则会直接流控满足规则的请求,白名单规则会放通满足规则的请求。
- 在流控服务详情页面,选择“黑白名单”页签,单击“新增黑白名单”。
- 配置黑白名单相关参数,参数说明如表6所示。配置完成后单击“保存”。
- 在弹出框中单击“确认”。
新增熔断规则
- 在流控服务详情页面,选择“熔断规则”页签,单击“新增熔断规则”。
- 配置熔断规则相关参数,参数说明如表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。
- 在弹出框中单击“确认”。
更多操作
操作 |
说明 |
---|---|
编辑流控服务配置 |
在流控服务详情页面,选择待编辑的配置项相应页签,单击操作列的“编辑”。 |
删除流控服务配置 |
在流控服务详情页面,选择待删除的配置项相应页签,单击操作列的“删除”。 |