问题描述
我正在阅读the documentation for Istio circuit breaker。我发现对于给定的时间间隔,我们可以设置数值 consecutive5xxErrors
(并检查其他一些设置)以使熔断操作生效。
我想知道是否可以根据 5xxerrors
与正常连接的百分比在 Istio 中以某种方式进行断路?
解决方法
按照您已经找到的文档:
如您所见,outlierDetection
有特定的字段:
consecutiveGatewayErrors
consecutive5xxErrors
interval
baseEjectionTime
maxEjectionPercent
minHealthPercent
强制请求不命中特定对象的字段是:consecutive5xxErrors
。
也可以在文档中看到:
字段 | 输入 | 描述 | 必填 |
---|---|---|---|
consecutive5xxErrors | UInt32Value | 主机从连接池中弹出之前的 5xx 错误数。当通过不透明的 TCP 连接访问上游主机时,连接超时、连接错误/失败和请求失败事件都属于 5xx 错误。此功能默认为 5,但可以通过将值设置为 0 来禁用。 | 否 |
-- Istio.io: Latest: Docs: Reference: Config: Networking: Destination Rule: Outlier Detection
它的值是平坦的,不能用作百分比。
我在 Istio
的 github 页面上发现了功能请求,我认为它引用了您要运行的功能:
我认为您可以尝试使用 EnvoyFilter
来修改 Envoy
的配置(尚未测试),因为 Envoy
本身有一些与百分比相关的字段失败/成功。应该可以帮助您的文档: