api-breaker
注意
关于熔断超时逻辑,由代码逻辑自动按触发不健康状态的次数递增运算:
当上游服务返回 unhealthy.http_statuses
配置中的状态码(默认为 500
),并达到 unhealthy.failures
预设次数时(默认为 3 次),则认为上游服务处于不健康状态。
当上游服务处于不健康状态时,如果转发请求到上游服务并返回 healthy.http_statuses
配置中的状态码(默认为 200
),并达到 healthy.successes
次时,则认为上游服务恢复至健康状态。
以下示例展示了如何在指定路由上启用 api-breaker
插件,该路由配置表示在一定时间内返回 500
或 503
状态码达到 3 次后触发熔断,返回 200
状态码 1 次后恢复健康:
如果上游服务在一定时间内返回 状态码达到 3 次,客户端将会收到 502 Bad Gateway
的应答:
当你需要禁用该插件时,可以通过以下命令删除相应的 JSON 配置,APISIX 将会自动重新加载相关配置,无需重启服务: