在后端出现问题时,断路器插件可实现熔断降级,用以保护后端,并在后端正常后恢复请求。
注意:断路器仅支持 专享实例 下 API,不支持共享实例。
您可在断路器插件中设置判断时间窗口、错误条件、错误次数、断路器持续时间、降级后端配置等配置项;
一次断路器周期可分为三个阶段:
参数 | 是否必填 | 说明 |
---|---|---|
错误条件 | 必填 | 判断某次请求是否视为一次错误的判断条件,最多可同时创建三个条件,详见 下表。 |
错误次数 | 必填 | 错误阈值,时间窗口内超过错误次数次错误将开启断路器。 |
判断时间窗口 | 必填 | 判断时间窗口,合法值为10~90秒。 |
断路器持续时间 | 必填 | 断路器开的持续时间,合法值为15~300秒。 |
降级后端类型 | 必填 | 可选关闭、公网 URL/IP、VPC 内资源、云函数 SCF、Mock、微服务平台 TSF。 当选中“关闭”时,断路器开启不降级到后端而是给客户端报错;当选中其他选项时,断路器开启时降级到所选后端。 |
降级后端配置 | 降级后端类型非关闭时必填 | 请输入 API 后端配置 YAML 文件,详情请参见 降级后端配置 YAML 填写指南。 |
错误条件类型 | 说明 |
---|---|
后端响应时间 | 后端响应时间大于用户配置的大小时,算作一次错误。 |
后端错误码 | 后端错误码包含或不包含某些错误码时,算作一次错误,多个错误码间用英文逗号隔开。 |
后端超时 | 在 API 后端配置中设置的后端超时时间被触发,算作一次错误。 |
{
"failure_condition":"latency_seconds>1 or func_not_in(status_code,{200,201,202})", // 错误条件
"failure_threshold":20, // 熔断错误阈值,需要正整数
"time_window":50, // 判断错误次数的时间窗口,单位秒,合法值为10~90秒
"open_state_duration":69, // 断路器持续时间,单位秒,合法值为15~300秒
"backend_type":"MOCK", // 降级后的后端类型,可选值:[MOCK, HTTP, SCF, VPC, UPSTREAM, TSF]
"backend_config":{ // 降级后的后端配置
"ServiceType":"MOCK",
"ServiceMockReturnMessage":"hello mock from strategy"
}
请对照着创建插件页面展示的 YAML 模板填写,字段与创建 API 的后端配置字段一一对应。
本页内容是否解决了您的问题?