Istio での Request Retry
概要
Istio を用いてリクエスト失敗時に自動でリトライさせる方法が存在する.
TODO:
リトライの挙動についてまとめる
コネクションの失敗,一部 5xx 系レスポンスが返ってきたとき
リトライは失敗直後に間髪入れず
例
code:yaml
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: retrytest-server
namespace: staging-istio
spec:
hosts:
- retrytest-server.staging-istio.svc.cluster.local
http:
- route:
- destination:
host: retrytest-server.staging-istio.svc.cluster.local
retries:
attempts: 3
perTryTimeout: 2s
この例では retry-server というサービスへのリクエストを最大3回リトライする設定をしている.リトライごとのタイムアウトは2秒となっている.