操作场景
order 服务 timeout 3s 如下图所示:
通过对 stock 服务配置故障注入,发现由于故障会导致网站用户的请求一直处于等待状态,为优化网站用户的浏览体验,需要为服务配置 timeout。
操作步骤
应用以下 VS,为 order 服务配置 3 秒的超时时间,cart 服务不设置超时时间作为参照对比。
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: order-vs
namespace: base
spec:
hosts:
- order.base.svc.cluster.local
http:
- match:
- headers:
cookie:
exact: vip=false
route:
- destination:
host: order.base.svc.cluster.local
subset: v1
timeout: 3000ms
- match:
- headers:
cookie:
exact: vip=true
route:
- destination:
host: order.base.svc.cluster.local
subset: v2
timeout: 3000ms
配置完成后,选择商品加入购物车,此时访问 cart 服务会有 7 秒的故障注入访问延时,且没有 timeout 处理,点击“CHECKOUT”发起结算调用 order 服务,此时虽然访问 order 服务也会有 7 秒的故障注入访问延时,但是有 3 秒的 timeout 超时处理,在调用 order 服务 3 秒内没有反应会做超时处理。
cart 服务调用 order 服务 timeout 显示如下图所示:
超时配置已完成,对于服务的故障注入测试已完成,可删除关联 stock 服务的 VirtualService 资源以解除对 stock 服务配置的故障注入策略。
删除 stock 服务关联 Virtual Service 操作如下图所示:
本页内容是否解决了您的问题?