场景描述

用户在consumer端使用故障注入,可以设置发往指定微服务的请求的时延和错误及其触发概率。

注意事项

延迟注入请求的延迟时间统一为毫秒级别

配置说明

故障注入配置在microservice.yaml文件中,相关配置项见下表。要开启服务消费者端的故障注入,还需要在处理链中配置消费端故障注入handler,配置示例如下:

servicecomb:
  handler:
    chain:
      Consumer:
        default: loadbalance,fault-injection-consumer

故障注入配置项说明

[scope]代表故障注入的生效范围,可配置值包括全局配置_global,或指定微服务的服务名[ServiceName]。

[protocol]代表使用的通信协议,可配置值包括rest或highway。

配置项 默认值 取值范围 是否必选 含义 注意
servicecomb.governance.Consumer.[scope].policy.fault.protocols.[protocol].delay.fixedDelay (0,9223372036854775807],长整形 Consumer端发送延迟注入请求的延迟时间 目前时间单位是毫秒
servicecomb.governance.Consumer.[scope].policy.fault.protocols.[protocol].delay.percent 100 (0,100],整形 Consumer端发送延迟注入请求的触发概率
servicecomb.governance.Consumer.[ServiceName].schemas.[schema].policy.fault.protocols.[protocol].delay.fixedDelay (0,9223372036854775807],长整形 Consumer端发送到对应schema的延迟注入请求的延迟时间 支持schema级别的配置
servicecomb.governance.Consumer.[ServiceName].schemas.[schema].policy.fault.protocols.[protocol].delay.percent 100 (0,100],整形 Consumer端发送到对应schema的延迟注入请求的触发概率 支持schema级别的配置
servicecomb.governance.Consumer.[ServiceName].schemas.[schema].operations.[operation].policy.fault.protocols.[protocol].delay.fixedDelay (0,9223372036854775807],长整形 Consumer端发送到对应operation的延迟注入请求的延迟时间 支持operation级别的配置
servicecomb.governance.Consumer.[ServiceName].schemas.[schema].operations.[operation].policy.fault.protocols.[protocol].delay.percent 100 (0,100],整形 Consumer端发送到对应operation的延迟注入请求的触发概率 支持operation级别的配置
servicecomb.governance.Consumer.[scope].policy.fault.protocols.[protocol].abort.httpStatus (100,999],整形 Consumer端发送错误注入请求的http错误码
servicecomb.governance.Consumer.[scope].policy.fault.protocols.[protocol].abort.percent 100 (0,100],整形 Consumer端发送错误注入请求的触发概率
servicecomb.governance.Consumer.[ServiceName].schemas.[schema].policy.fault.protocols.[protocol].abort.httpStatus (100,999],整形 Consumer端发送到对应schema的错误注入请求的http错误码 支持schema级别的配置
servicecomb.governance.Consumer.[ServiceName].schemas.[schema].policy.fault.protocols.[protocol].abort.percent 100 (0,100],整形 Consumer端发送到对应schema的错误注入请求的触发概率 支持schema级别的配置
servicecomb.governance.Consumer.[ServiceName].schemas.[schema].operations.[operation].policy.fault.protocols.[protocol].abort.httpStatus (100,999],整形 Consumer端发送到对应operation的错误注入请求的http错误码 支持operation级别的配置
servicecomb.governance.Consumer.[ServiceName].schemas.[schema].operations.[operation].policy.fault.protocols.[protocol].abort.percent 100 (0,100],整形 Consumer端发送到对应operation的错误注入请求的触发概率 支持operation级别的配置

示例代码

servicecomb:
  governance:
    Consumer:
      _global:
        policy:
          fault:
            protocols:
              rest:
                delay:
                  fixedDelay: 5000
                  percent: 10
servicecomb:
  governance:
    Consumer:
      ServerFaultTest:
        schemas:
          schema:
            operations:
              operation:
                policy:
                  fault:
                    protocols:
                      rest:
                        abort:
                          httpStatus: 421
                          percent: 100

results matching ""

    No results matching ""