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
服务可以配置一条(有且只能配置一条)熔断规则。
熔断支持以下粒度的规则配置: