api-breaker

注意

关于熔断超时逻辑,由代码逻辑自动按触发不健康状态的次数递增运算:

当上游服务返回 unhealthy.http_statuses 配置中的状态码(默认为 500),并达到 unhealthy.failures 预设次数时(默认为 3 次),则认为上游服务处于不健康状态。

当上游服务处于不健康状态时,如果转发请求到上游服务并返回 healthy.http_statuses 配置中的状态码(默认为 200),并达到 healthy.successes 次时,则认为上游服务恢复至健康状态。

以下示例展示了如何在指定路由上启用 api-breaker 插件,该路由配置表示在一定时间内返回 500503 状态码达到 3 次后触发熔断,返回 200 状态码 1 次后恢复健康:

如果上游服务在一定时间内返回 状态码达到 3 次,客户端将会收到 502 Bad Gateway 的应答:

当你需要禁用该插件时,可以通过以下命令删除相应的 JSON 配置,APISIX 将会自动重新加载相关配置,无需重启服务: