配置微服务治理
微服务部署完后,您可以根据微服务的运行情况进行微服务的治理。
治理策略说明
支持负载均衡、限流、故障隔离、容错、降级、熔断、错误注入、超时时间和OLC流控等策略的配置。各治理项说明如表1所示。
名称 |
说明 |
---|---|
负载均衡 |
微服务一般会部署多个实例,负载均衡控制微服务消费者访问微服务提供者的多个实例的策略,以达到流量均衡的目的。策略包括轮询、随机、响应时间权值、会话粘滞等。 |
限流 |
用于控制访问微服务的请求量大小,避免由于流量冲击对系统造成破坏。 |
故障隔离 |
- |
降级 |
用于控制微服务调用其他微服务的时候,强制返回缺省值或者抛出异常,而不将请求发送到目标微服务,以达到屏蔽对目标微服务的访问和降低其压力的目的。 |
容错 |
当微服务消费者访问提供者出现异常,比如实例网络不通等,需要将请求转发到其他可用的实例。这里的容错,常被称为重试。 |
熔断 |
当微服务消费者访问提供者出现异常,比如实例网络不通、请求超时等,并且异常积累到一定的程度,需要停止访问提供者,返回一个异常或者缺省值,防止雪崩效应。 熔断提供了自动熔断策略。自动熔断需要结合错误率等判断是否熔断。 |
错误注入 |
错误注入可以模拟一个调用失败,主要用于功能验证、故障场景演示等场景。 |
超时时间 |
- |
OLC流控 |
CPU过载控制OLC(Overload Control)是一种CPU过载调控机制。当CPU过载时,OLC能够对受监控协议报文和任务进行调控,通过不同优先级业务的合理规划和限制报文通过等方式,降低对CPU资源的消耗,并确保设备不会因为某种受监控协议或任务冲击CPU导致的CPU过载而影响对其他业务的正常处理 |
新增负载均衡策略
- 进入AppStage运维中心。
- 在顶部导航栏选择服务。
- 单击,选择 。
- 选择左侧导航栏的 。
- 选择“微服务列表”页签。单击微服务列表操作列的“治理”。
- 选择“负载均衡”页签,单击“新增”。
- 在新增负载均衡页面,配置相关参数,参数说明如表2所示。
表2 新增负载均衡参数说明 参数
说明
微服务(服务端)
选择需要治理的微服务。
是否使用别名
选择是否使用别名。
负载均衡策略
- 随机:提供服务实例随机路由。
- 轮询:支持按照服务实例的位置信息顺序路由。
- 响应时间权值:提供最小活跃数(时延)的权重路由,支持业务处理慢的服务实例接收较少的请求,防止系统停止响应。这种负载均衡策略适合请求量少且稳定的应用。
- 会话粘滞:会话粘滞是负载均衡器上的一种机制,在设定的会话保持时间内,会保证同一用户相关联的访问请求会被分配到同一实例上。
- 会话保持时间:会话保持的限制时间,0-86400,单位为秒。
- 失效次数阈值:访问失败次数,0-10。当微服务访问下属实例的失败次数或会话保持时间超过设定的值时,微服务不再访问该实例。
- 带预热的轮询算法。
- 带预热的随机算法。
- 带预热的响应时间权值。
是否开启预热
选择是否开启预热。
预热周期
配置实例启动后在多长的时间范围内进行预热。超出该时间后实例的被选中率为1。
延迟时间
若不符合则置为默认值。配置实例启动后延迟多长的时间才开始进行预热。在延迟时间中,实例的被选中率是0
预热因子
若不符合则置为默认值。配置实例启动后延迟多长的时间才开始进行预热。在延迟时间中,实例的被选中率是0。
- 单击“确定”,保存配置。
新增限流策略
- 在配置服务治理项页面,选择“限流”页签,单击“新增”。
- 在新增限流页面,配置相关参数,参数说明如表3所示。
- 单击“确定”保存配置。
新增故障隔离策略
- 在配置服务治理项页面,选择“故障隔离”页签,单击“新增”。
- 在新增故障隔离页面,配置相关参数,参数说明如表4所示。
- 单击“确定”保存配置。
新增降级策略
- 在配置服务治理项页面,选择“降级”页签,单击“新增”。
- 在新增降级页面,配置相关参数,参数说明如表5所示。
- 单击“确定”保存配置。
新增容错策略
- 在配置服务治理项页面,选择“容错”页签,单击“新增”。
- 在新增容错页面,配置相关参数,参数说明如表6所示。
- 单击“确定”保存配置。
新增熔断策略
- 在配置服务治理项页面,选择“熔断”页签,单击“新增”。
- 在新增熔断页面,配置相关参数,参数说明如表7所示。
- 单击“确定”保存配置。
新增错误注入
- 在配置服务治理项页面,选择“错误注入”页签,单击“新增”。
- 在新增错误注入页面,配置相关参数,参数说明如表8所示。
- 单击“确定”保存配置。
新增超时时间
- 在配置服务治理项页面,选择“超时时间”页签,单击“新增”。
- 在新增超时时间页面,配置相关参数,参数说明如表9所示。
- 单击“确定”保存配置。
新增OLC流控
- 在配置服务治理项页面,选择“OLC流控”页签,单击“新增”。
- 在新增OLC流控页面,选择配置不区分微服务接口的全局参数流控、针对微服务/接口的资源流控和节点级动态流控规则。
表10 新增全局资源 参数
说明
资源类型
选择全局资源。
参数名
填写参数名称。
字符长度0~50,可以由字母、数字、下划线、短横线、点组成,不能包含特殊字符。例:Limit_rule-001。
限制流控类型
- QPS:每秒速率流控。
- 配额:特定时间的请求阈值。
阈值
流控阈值,正整数类型或0。
允许的突增量
当限流控制类型为QPS时,显示该参数。
允许的QPS突增值,作为突增增量累加到阈值上。
禁用时间
当限流控制类型为QPS时,显示该参数。
被流控后禁用时间。
时间窗口
填写时间,单位为秒,表示间隔多少秒允许一个请求通过。默认为1秒,取值范围为1~86400。
是否集群限流
选择“是”或“否”。开启后对集群内此资源的调用总量进行限制。
集群限流阈值模式
当流控类别为QPS,开启集群限流时,显示该参数。
- 单机均摊
- 总体阈值
本地配额缓存数
当流控类别为配额,开启集群限流时,显示该参数。
防止DCS热点key的参数,可以减少DCS的访问,默认值为5。
该参数需要合理配置,配置过小容易造成热点key问题,配置过大可能导致部分节点放通部分节点流控的问题。
开启流控规则
选择是否开启流控规则。
表11 新增接口资源 参数
说明
资源类型
选择接口资源。
是否使用别名
选择是否使用别名。
原始服务名
使用别名时,需要填写原始服务名。
Schema
- All
- *
微服务方法
-
限流控制类型
- QPS:每秒速率流控。
- 配额:特定时间的请求阈值。
阈值
流控阈值,正整数类型或0。
允许的突增量
当限流控制类型为QPS时,显示该参数。
允许的QPS突增值,作为突增增量累加到阈值上。
禁用时间
当限流控制类型为QPS时,显示该参数。
被流控后禁用时间。
时间窗口
填写时间,单位为秒,表示间隔多少秒允许一个请求通过。默认为1秒,取值范围为1~86400。
是否集群限流
选择“是”或“否”。开启后对集群内此资源的调用总量进行限制。
集群限流阈值模式
当流控类别为QPS,开启集群限流时,显示该参数。
- 单机均摊
- 总体阈值
本地配额缓存数
当限流控制类型为配额,开启集群限流时,显示该参数。
防止DCS热点key的参数,可以减少DCS的访问,默认值为5。
该参数需要合理配置,配置过小容易造成热点key问题,配置过大可能导致部分节点放通部分节点流控的问题。
开启流控规则
选择是否开启流控规则。
新增参数
单击“新增参数”,可以根据需要新增流控规则。
表12 新增节点级动态流控 参数
说明
资源类型
选择节点级动态流控。
开启流控规则
选择是否开启流控规则。
CPU过载阈值
CPU利用率超过该值时,接口的放通比例开始降低,直到降低至最低放通比例;CPU利用率越高,接口放通比例下降越快。该阈值要求为小数,范围为0~1,支持精度为小数点后四位。
CPU恢复阈值
CPU利用率小于该值时,接口的放通比例开始恢复,直到恢复至100%;CPU利用率越低,接口放通比例恢复越快。该阈值要求为小数,范围为0~1,支持精度为小数点后四位,并且小于CPU过载阈值。
最低放通比例
配置各个接口等级对应的最低放通比例,在CPU始终处于过载状态时,仍然能放通该比例的请求。
范围为0~1,支持精度为小数点后四位。
- 单击“确定”保存配置。