istio 请求超时

参考文档:https://istio.io/latest/zh/docs/tasks/traffic-management/request-timeouts/

1、将请求路由到 reviews 服务的 v2 版本,它会发起对 ratings 服务的调用

apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: reviews
spec:
  hosts:
    - reviews
  http:
  - route:
    - destination:
        host: reviews
        subset: v2

 

 

 

2、给对 ratings 服务的调用添加 2 秒的延迟:

apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: ratings
spec:
  hosts:
  - ratings
  http:
  - fault:
      delay:
        percent: 100
        fixedDelay: 2s
    route:
    - destination:
        host: ratings
        subset: v1

这时可以看到 Bookinfo 应用运行正常(显示了评级的星型符号),但是每次刷新页面,都会有 2 秒的延迟。

 
3、现在给对 reviews 服务的调用增加一个半秒的请求超时,配置是覆盖的,之前的配置就没有了
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: reviews
spec:
  hosts:
  - reviews
  http:
  - route:
    - destination:
        host: reviews
        subset: v2
    timeout: 0.5s

 

这时候应该看到 1 秒钟就会返回,而不是之前的 2 秒钟,但 reviews 是不可用的。即使超时配置为半秒,响应仍需要 1 秒,是因为 productpage 服务中存在硬编码重试,因此它在返回之前调用 reviews 服务超时两次。

 

 
posted @ 2022-03-30 11:55  腐汝  阅读(64)  评论(0编辑  收藏  举报