熔断标准CRD

apiVersion: com.tencent.tsf/v1alpha1

  kind: CircuitBreakerRule

  metadata:

    name: ${RuleName}

    servicename: ${Service Name} # 考虑采用被 Micro Service 关联还是Label Select

    namespace: ${Namespace}

  spec:

    rules: # 熔断规则,可以多条,每个服务可以配置多条下游服务的熔断规则

    - targetService: #熔断的目标服务

    targetServiceName: ${Service Name} #下游熔断的服务名

    targetNamespace: ${Namespace} #下游熔断的服务所属命名空间

      isolationLevel: ${SERVICE INSTANCE API} #熔断级别

    enable: ${true false} #是否生效

    - strategy: #只有在API级别熔断的时候,才有多条

    - api: #只有是api级别的时候才有,接口列表

      path: ${value} # 接口名,一般是 String

      method: ${POST,GET} #接口方法

    failureRateThreshold: ${value} #请求失败比例达到阈值触发熔断

    maxEjectionPercent: ${value} #最大熔断比例,只有在实例级别熔断时候才有

    minimumNumberOfCalls: ${value} #最少请求次数

    slidingWindowSize: ${value} #滑动窗口时间

    slowCallDurationThreshold: ${value} #慢请求时间阈值

    slowCallRateThreshold: ${value} #慢请求熔断比例阈值

    waitDurationInOpenState: ${value} #启动半开状态的时间间隔

熔断场景站在当前consumer服务的角度,consumer下游服务有一个或者多个,每个下游provider服务可以配置一条(有且只能配置一条)熔断规则。

熔断支持以下粒度的规则配置: