微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

根据 5xxErrors 的百分比触发 Istio 断路器

如何解决根据 5xxErrors 的百分比触发 Istio 断路器

我正在阅读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 本身有一些与百分比相关的字段失败/成功。应该可以帮助您的文档:

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。