更新时间:2024-10-18 GMT+08:00
分享

配置微服务治理

微服务部署完后,您可以根据微服务的运行情况进行微服务的治理。

治理策略说明

支持负载均衡、限流、故障隔离、容错、降级、熔断、错误注入、超时时间和OLC流控等策略的配置。各治理项说明如表1所示。

表1 治理策略说明

名称

说明

负载均衡

微服务一般会部署多个实例,负载均衡控制微服务消费者访问微服务提供者的多个实例的策略,以达到流量均衡的目的。策略包括轮询、随机、响应时间权值、会话粘滞等。

限流

用于控制访问微服务的请求量大小,避免由于流量冲击对系统造成破坏。

故障隔离

-

降级

用于控制微服务调用其他微服务的时候,强制返回缺省值或者抛出异常,而不将请求发送到目标微服务,以达到屏蔽对目标微服务的访问和降低其压力的目的。

容错

当微服务消费者访问提供者出现异常,比如实例网络不通等,需要将请求转发到其他可用的实例。这里的容错,常被称为重试。

熔断

当微服务消费者访问提供者出现异常,比如实例网络不通、请求超时等,并且异常积累到一定的程度,需要停止访问提供者,返回一个异常或者缺省值,防止雪崩效应。

熔断提供了自动熔断策略。自动熔断需要结合错误率等判断是否熔断。

错误注入

错误注入可以模拟一个调用失败,主要用于功能验证、故障场景演示等场景。

超时时间

-

OLC流控

CPU过载控制OLC(Overload Control)是一种CPU过载调控机制。当CPU过载时,OLC能够对受监控协议报文和任务进行调控,通过不同优先级业务的合理规划和限制报文通过等方式,降低对CPU资源的消耗,并确保设备不会因为某种受监控协议或任务冲击CPU导致的CPU过载而影响对其他业务的正常处理

新增负载均衡策略

  1. 进入AppStage运维中心
  2. 在顶部导航栏选择服务。
  3. 单击,选择微服务开发 > 服务发现
  4. 选择左侧导航栏的服务目录 > 一方服务
  5. 选择“微服务列表”页签。单击微服务列表操作列的“治理”
  6. 选择“负载均衡”页签,单击“新增”
  7. 在新增负载均衡页面,配置相关参数,参数说明如表2所示。

    表2 新增负载均衡参数说明

    参数

    说明

    微服务(服务端)

    选择需要治理的微服务。

    是否使用别名

    选择是否使用别名。

    负载均衡策略

    • 随机:提供服务实例随机路由。
    • 轮询:支持按照服务实例的位置信息顺序路由。
    • 响应时间权值:提供最小活跃数(时延)的权重路由,支持业务处理慢的服务实例接收较少的请求,防止系统停止响应。这种负载均衡策略适合请求量少且稳定的应用。
    • 会话粘滞:会话粘滞是负载均衡器上的一种机制,在设定的会话保持时间内,会保证同一用户相关联的访问请求会被分配到同一实例上。
      • 会话保持时间:会话保持的限制时间,0-86400,单位为秒。
      • 失效次数阈值:访问失败次数,0-10。当微服务访问下属实例的失败次数或会话保持时间超过设定的值时,微服务不再访问该实例。
    • 带预热的轮询算法。
    • 带预热的随机算法。
    • 带预热的响应时间权值。

    是否开启预热

    选择是否开启预热。

    预热周期

    配置实例启动后在多长的时间范围内进行预热。超出该时间后实例的被选中率为1。

    延迟时间

    若不符合则置为默认值。配置实例启动后延迟多长的时间才开始进行预热。在延迟时间中,实例的被选中率是0

    预热因子

    若不符合则置为默认值。配置实例启动后延迟多长的时间才开始进行预热。在延迟时间中,实例的被选中率是0。

  8. 单击“确定”,保存配置。

新增限流策略

  1. 在配置服务治理项页面,选择“限流”页签,单击“新增”
  2. 在新增限流页面,配置相关参数,参数说明如表3所示。

    表3 新增限流参数说明

    参数

    说明

    流控类型

    • 服务端
    • 客户端

    微服务(客户端)

    选择ALL。

    是否使用别名

    选择是否使用别名。

    Schema(服务端)

    -

    微服务方法(服务端)

    -

    QPS

    每秒的请求数。当限流对象对当前服务实例的每秒请求数量超过设定的值,当前服务实例不再接受该对象的请求。取值范围为1-99999的整数。

  3. 单击“确定”保存配置。

新增故障隔离策略

  1. 在配置服务治理项页面,选择“故障隔离”页签,单击“新增”
  2. 在新增故障隔离页面,配置相关参数,参数说明如表4所示。

    表4 新增故障隔离参数说明

    参数

    说明

    微服务(客户端)

    选择需要治理的微服务。

    是否使用别名

    选择是否使用别名。

    是否开启

    选择是否开启。

    进入隔离逻辑门槛数

    当实例的调用总次数达到该值时开始进入隔离逻辑门槛。

    触发隔离连续出错数

    当请求实例连续出错达到此阈值时触发实例隔离,如果配置了此项则覆盖实例故障百分比的配置,否则按照实例故障百分比触发隔离。

    触发隔离错误百分比

    实例故障隔离错误百分比。

    最短隔离时间

    -

    故障单点测试时间

    -

    放通实例

    选择是否放通实例。

    放通最大锁定时间

    为了保证在并发情况下只有一个实例放通,会锁定放通实例。这个时间表示最大锁定时间。

  3. 单击“确定”保存配置。

新增降级策略

  1. 在配置服务治理项页面,选择“降级”页签,单击“新增”
  2. 在新增降级页面,配置相关参数,参数说明如表5所示。

    表5 新增降级参数说明

    参数

    说明

    微服务(服务端)

    选择需要降级的微服务。

    是否使用别名

    选择是否使用别名。

    Schema(服务端)

    -

    微服务方法(服务端)

    -

    降级策略

    选择降级策略。

    降级开关

    • 开启:开启降级。
    • 关闭:关闭降级。

  3. 单击“确定”保存配置。

新增容错策略

  1. 在配置服务治理项页面,选择“容错”页签,单击“新增”
  2. 在新增容错页面,配置相关参数,参数说明如表6所示。

    表6 新增容错参数说明

    参数

    说明

    微服务(服务端)

    选择需要降级的微服务。

    是否使用别名

    选择是否使用别名。

    是否开启容错

    选择开启或关闭。

    容错策略

    • Failover:尝试新的服务器次数:1,尝试同一个服务器次数:0。
    • Failfast:尝试新的服务器次数:0,尝试同一个服务器次数:0。
    • Failback:尝试新的服务器次数:0,尝试同一个服务器次数:1。
    • Custom:尝试新的服务器次数:0~9,尝试同一个服务器次数:0~9。

    尝试同一个服务器次数

    服务调用尝试同一个服务器的次数。

    尝试新的服务器次数

    服务调用尝试新的服务器次数。

  3. 单击“确定”保存配置。

新增熔断策略

  1. 在配置服务治理项页面,选择“熔断”页签,单击“新增”
  2. 在新增熔断页面,配置相关参数,参数说明如表7所示。

    表7 新增熔断参数说明

    参数

    说明

    微服务(服务端)

    选择需要降级的微服务。

    是否使用别名

    选择是否使用别名。

    Schema(服务端)

    -

    微服务方法(服务端)

    -

    触发条件

    • 取消熔断
    • 手动熔断
    • 自动熔断

    熔断时间窗

    触发条件为自动熔断时,配置此参数。

    熔断的持续时间,该时间窗内不再响应请求。

    失败率

    触发条件为自动熔断时,配置此参数。

    触发条件,窗口请求的失败率。

    窗口请求数

    触发条件为自动熔断时,配置此参数。

    触发条件,窗口收到的请求数。“失败率”和“窗口请求数”的条件需同时满足才会触发熔断。

  3. 单击“确定”保存配置。

新增错误注入

  1. 在配置服务治理项页面,选择“错误注入”页签,单击“新增”
  2. 在新增错误注入页面,配置相关参数,参数说明如表8所示。

    表8 新增错误注入参数说明

    参数

    说明

    微服务(服务端)

    需要测试容错能力的微服务,可以具体到微服务的方法。

    是否使用别名

    选择是否使用别名。

    Schema(服务端)

    -

    微服务方法(服务端)

    -

    类型

    测试微服务的容错能力类型:

    • 延时
    • 错误

    协议

    访问微服务出现延时或错误的协议:

    • Rest
    • Highway

    触发概率

    访问微服务出现延时或错误的概率。

    延迟时间

    访问微服务出现延时的时长,“类型”选择为“延迟”时才需要配置。

    http错误码

    访问微服务出现错误的HTTP错误码,“类型”选择为“错误”时才需要配置。该错误码为HTTP标准的错误码。

  3. 单击“确定”保存配置。

新增超时时间

  1. 在配置服务治理项页面,选择“超时时间”页签,单击“新增”
  2. 在新增超时时间页面,配置相关参数,参数说明如表9所示。

    表9 新增超时时间参数说明

    参数

    说明

    微服务(服务端)

    选择需要降级的微服务。

    是否使用别名

    选择是否使用别名。

    Schema(服务端)

    -

    微服务方法(服务端)

    -

    超时时间

    配置超时时间。

  3. 单击“确定”保存配置。

新增OLC流控

  1. 在配置服务治理项页面,选择“OLC流控”页签,单击“新增”
  2. 在新增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,支持精度为小数点后四位。

  3. 单击“确定”保存配置。

相关文档