Open cfz opened 5 years ago
The current implementation considers all the error as feedback to circuit breaker, which may not be a reasonable way. I have opened a new issue to discuss which error should be ignored.
这里能有办法把 EINVAL 的错误忽略掉么?或者能有办法禁用默认的熔断机制么?
我的使用场景:
当某个模型的请求存在问题时,tfserving 会返回 EINVAL,导致 tfserving 被熔断,所有的下游服务都被认为是不可访问的。这不是预期内的,期望其它模型的访问应该也能正常 serve 。
我目前是使用的 k8s 的 service 进行连接的,这里对 brpc 而言是只有一个节点;在这种场景下是否可以不触发熔断逻辑?
这个场景下不打开熔断功能是不是就好了
文档里说默认的熔断没法关闭?
是没法关闭,看起来是需要提供一个配置化的开关
在熔断文档中提到, 服务端返回EINVAL会导致熔断判定.
但按照我的理解, EINVAL是一个比较常见的返回码, 导致EINVAL的原因可能在客户端, 也可能在服务端, 错误可能是暂时的, 也可能是长期的. 不知道在设计之初, 是基于什么考虑, 将EINVAL也包括在触发熔断的错误类别中?
多谢~