如何解决Istio 请求重试上游选择算法
请求重试上游选择算法是什么?
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: rtest
spec:
hosts:
- '*'
http:
- name: test
match:
- uri:
prefix: /
route:
- destination:
host: myapp
port:
number: 8000
retries:
attempts: 20
retryOn: 404,retriable-status-codes,connect-failure,reset
retryRemoteLocalities: true
apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:
name: myapp
spec:
host: myapp
trafficPolicy:
outlierDetection:
consecutive5xxErrors: 100
baseEjectionTime: 1s
loadBalancer:
simple: ROUND_ROBIN
我确信重试会以 RR 方式尝试每个 Pod。我错了,有时它会在同一个 Pod 上多次尝试忽略 RR 平衡。如何强制 Istio 每次在不同的 Pod 上重试?
Istio 1.9.3 版
改变负载均衡算法对重试顺序没有影响。 这是在单独节点上运行的 7 个 pod 的 50 次重试:
s44sk
pgkp5
qdg58
5xjtp
5xjtp
5xjtp
blrl2
blrl2
blrl2
blrl2
blrl2
l74q4
l74q4
l74q4
l74q4
l74q4
l74q4
l74q4
l74q4
l74q4
l74q4
l74q4
l74q4
l74q4
l74q4
l74q4
l74q4
l74q4
blrl2
blrl2
s44sk
7jwdm
7jwdm
7jwdm
7jwdm
7jwdm
7jwdm
7jwdm
7jwdm
7jwdm
7jwdm
5xjtp
5xjtp
5xjtp
5xjtp
不确定顺序是否保留,但 Pod 之间的重试率远未达到 RR。
使用了Locality负载均衡,但我想应该不会影响使用RR算法的pod重试率。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。