断路器不会因 httpConsecutiveErrors: 1 跳闸(对于 500 响应)。所有请求都通过并给出 500 。断路器应该跳闸并且应该返回 503(服务不可用)。
按照步骤断路器设置 。
一旦 httpbin 启动,您可以使用它模拟 500 Request :
kubectl exec -it $FORTIO_POD -c fortio /usr/local/bin/fortio -- load -c 1 -qps 0 -n 20 -loglevel Warning http://httpbin:8000/status/500
运行这个将模拟 20 个返回 500 的请求。
但是如果你已经应用了断路器,如果应该只允许一个请求为 500,其余的请求应该被触发并返回一个 503。这不会发生。在 github 上提出的问题 Github 问题