Istio-每个客户端断路器配置

时间:2020-09-26 09:53:07

标签: istio

在Istio中,我们使用目标规则为目标服务定义断路器配置。然后,此配置将应用于所有调用目标服务的客户端。

例如,如果我使用maxRequests = 100为服务A设置了目标规则。

spec:
  host: serviceA
  trafficPolicy:
    connectionPool:
      http:
        http2MaxRequests: 100

如果serviceB,serviceC和serviceD正在调用serviceA,则此规则适用于所有这三个。

是否可以为serviceB,serviceC和serviceD分别配置断路器?

谢谢

1 个答案:

答案 0 :(得分:0)

在使用istio circuit breaker时,当前(istio v1.7)不可能通过一项服务为每项其他服务配置断路器。这是因为断路器适用于特定的connection pool

或者,您可以将服务A分成3个单独的服务,分别与服务B,C和D一起使用:

Service B > Service A1
Service C > Service A2
Service D > Service A3

这种方法显然将需要更多资源,并可能带来其他问题。

在istio documentation上可以找到istio文档中未包含的有关断路器的更多有用信息,因为istio使用envoy断路器。