8. 重试配置
重试配置用于设定请求失败后的自动重试策略,Sidecar代理会在满足重试条件时重新发起请求,提升服务调用成功率,支持重试次数、重试条件、重试超时等精细化配置。

8.1 核心配置示例
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: demo-service-vs
namespace: default
spec:
hosts:
- demo-service
http:
- retries:
attempts: 2 # 最大重试次数(含首次请求共3次)
perTryTimeout: 1s # 每次重试的超时时间
retryOn: 5xx,connect-failure,refused-stream # 触发重试的条件
route:
- destination:
host: demo-service
subset: v18.2 常用重试条件
5xx:后端服务返回5xx状态码时重试。connect-failure:连接后端服务失败时重试。refused-stream:后端拒绝流请求时重试。retriable-4xx:可重试的4xx状态码(如409冲突)。
8.3 操作注意事项
重试会增加后端服务压力,需结合业务接口幂等性配置,避免非幂等接口重试导致数据重复(如提交订单接口)。
建议将
perTryTimeout设置为小于全局超时时间,避免重试总耗时超出全局限制。
作者:叶奕珺 创建时间:2026-01-23 14:48
最后编辑:叶奕珺 更新时间:2026-01-30 18:08
最后编辑:叶奕珺 更新时间:2026-01-30 18:08