Istio CircuitBreaker 通过 URI 路径而不是主机?
Istio CircuitBreaker by URI path instead of host?
当我阅读 Circuit breaker 的文档时,我看到很多关于弹出主机等的参考。这很酷,但我想按路径弹出。这可能吗?
例如:
https://example.com/good/*
总是以 200 秒等快速响应,所以我们就这样吧。但是
https://example.com/bad/*
正在响应 500 秒或超时,因此我们想以某种方式阻止对它的调用。
Destination rules 似乎是配置它的唯一方法,而且它们似乎只是主机级别的东西?
提前致谢。
您可以使用 match
语句通过 VirtualService 拆分流量(并将此流量路由到不同的服务)
http:
- match:
- uri:
prefix: /reviews
route:
- destination:
host: reviews
之后您可以为这些服务使用不同的 Destination rules(使用 porper 连接池和断路器设置)
Along with virtual services, destination rules are a key part of Istio’s traffic routing functionality. You can think of virtual services as how you route your traffic to a given destination, and then you use destination rules to configure what happens to traffic for that destination. Destination rules are applied after virtual service routing rules are evaluated, so they apply to the traffic’s “real” destination.
或者,您可以使用带有匹配语句的相同服务并使用 subsets 以便将流量路由到相同服务的不同子集。从这一点来看,可以为同一服务的不同子集创建不同的流量策略。
当我阅读 Circuit breaker 的文档时,我看到很多关于弹出主机等的参考。这很酷,但我想按路径弹出。这可能吗?
例如:
https://example.com/good/*
总是以 200 秒等快速响应,所以我们就这样吧。但是https://example.com/bad/*
正在响应 500 秒或超时,因此我们想以某种方式阻止对它的调用。
Destination rules 似乎是配置它的唯一方法,而且它们似乎只是主机级别的东西?
提前致谢。
您可以使用 match
语句通过 VirtualService 拆分流量(并将此流量路由到不同的服务)
http:
- match:
- uri:
prefix: /reviews
route:
- destination:
host: reviews
之后您可以为这些服务使用不同的 Destination rules(使用 porper 连接池和断路器设置)
Along with virtual services, destination rules are a key part of Istio’s traffic routing functionality. You can think of virtual services as how you route your traffic to a given destination, and then you use destination rules to configure what happens to traffic for that destination. Destination rules are applied after virtual service routing rules are evaluated, so they apply to the traffic’s “real” destination.
或者,您可以使用带有匹配语句的相同服务并使用 subsets 以便将流量路由到相同服务的不同子集。从这一点来看,可以为同一服务的不同子集创建不同的流量策略。