在集群中的pod上重试n次后,回退到外部服务



TL;DR:n在集群pod上重定时后,如何回退到外部服务?

VirtualService将HTTP请求路由到集群pod,并在pod返回503时重试。我需要在n重试后将请求路由到外部服务。

是否可以在VirtualService路由中使用x-envoy-attempt-count头字段?

http:
- match:
- headers:
x-envoy-attempt-count:
exact: 5

还有其他选择吗?

Istio 1.9.4在重试过程中,似乎没有重新评估路由,因此永远不会选择标头匹配的路由。

坏消息。。。除非smth当前发生更改,否则这在Istio中是不可能的。已经有关于这个话题的回复了——也许你错过了。

请检查将istio-destination规则配置为使用回退URL而不是503

有一个服务网格,目前没有专门的库失败的上下文传播,失败的原因更加不透明。这并不意味着我们的应用程序不能出现故障(对于两种传输以及客户端特定错误(。我认为这对任何应用程序的协议,无论是使用特定于库的框架是否(始终遵守其试图为其履行的承诺客户。如果它发现自己无法完成预期的行动应该想办法优雅地降级。幸运的是,你不需要应用程序特定框架。大多数语言都有内置错误和异常捕获及处理。回退应该是在这些异常路径中实现。

相关内容

  • 没有找到相关文章

最新更新