2019独角兽企业重金招聘Python工程师标准>>>

请求超时

可以使用路由规则的httpReqTimeout字段指定http请求的超时。默认情况下,超时为15秒,但在此任务中,我们将reviews服务超时重写为1秒。然而,为了看到它的效果,我们还将在ratings服务调用中引入人为的2秒延迟。

  1. 将请求路由到reviews服务的v2 ,即调用ratings服务的版本

        cat <<EOF | istioctl replace -f -apiVersion: networking.istio.io/v1alpha3kind: VirtualServicemetadata:name: reviewsspec:hosts:- reviewshttp:- route:- destination:host: reviewssubset: v2EOF
    
  2. ratings服务调用添加2秒延迟:

        cat <<EOF | istioctl replace -f -apiVersion: networking.istio.io/v1alpha3kind: VirtualServicemetadata:name: ratingsspec:hosts:- ratingshttp:- fault:delay:percent: 100fixedDelay: 2sroute:- destination:host: ratingssubset: v1EOF
    
  3. 在浏览器中打开Bookinfo URL(http:// $ GATEWAY_URL / productpage)

    您应该看到Bookinfo应用程序正常工作(显示评级星标),但每次刷新页面时都会有2秒的延迟。

  4. 现在为reviews服务调用添加1秒的请求超时

        cat <<EOF | istioctl replace -f -apiVersion: networking.istio.io/v1alpha3kind: VirtualServicemetadata:name: reviewsspec:hosts:- reviewshttp:- route:- destination:host: reviewssubset: v2timeout: 1sEOF
    
  5. 刷新Bookinfo网页

    您现在应该看到它在1秒内返回(而不是2秒),但评论不可用。

了解发生了什么

在此任务中,您使用Istio将对reviews微服务的调用的请求超时设置为1秒(而不是默认的15秒)。由于服务在处理请求时reviews随后调用ratings服务,因此您使用Istio在调用中注入了2秒的延迟ratings,因此您将导致reviews服务花费超过1秒的时间来完成,因此您可以看到超时运行。

您发现Bookinfo产品页面(调用reviews服务填充页面)而不是显示评论显示消息:对不起,本书目前无法提供产品评论。这是它从reviews服务接收超时错误的结果。

如果你查看故障注入任务,你会发现productpage微服务也有自己的应用程序级超时(3秒)来调用reviews微服务。请注意,在此任务中,我们使用Istio路由规则将超时设置为1秒。如果您将超时设置为大于3秒(例如,4秒)的超时,则超时将无效,因为两者中的限制性更强。更多细节可以在这里找到。

关于Istio中超时的另一个注意事项是,除了在路由规则中覆盖它们之外,就像在此任务中所做的那样,如果应用程序添加了“x-envoy-upstream-”,它们也可以在每个请求的基础上被覆盖。 rq-timeout-ms“出站请求的标头。在标头中,超时以毫秒(而不是第二)单位指定。

资料:

https://istio.io/docs/tasks/traffic-management/request-routing/

转载于:https://my.oschina.net/xiaominmin/blog/1858655

istio-0.8 服务超时配置相关推荐

  1. ubuntu16.04 安装cuda9.0+cudnn7.0.5+tensorflow+nvidia-docker配置GPU服务

    [摘要] docker很好用,但是在GPU服务器上使用docker却比较复杂,需要一些技巧,下面将介绍一下在ubuntu16.04环境下的GPU-docker环境搭建过程. 第一步: 删除之前的nvi ...

  2. 华为云讲解:2. Istio Pilot 与服务发现

    华为云讲解:2. Istio Pilot 与服务发现 文章目录 华为云讲解:2. Istio Pilot 与服务发现 服务发现 看图说话 在Istio里面Service A 访问ServiceB 如何 ...

  3. 使用Istio打造微服务(第1部分)

    Istio 是一个由Google,IBM和Lyft团队合作开发的开源项目,它提供了基于微服务的应用程序复杂性的解决方案,仅举几例: 流量管理 :超时,重试,负载均衡, 安全性: 最终用户身份验证和授权 ...

  4. 详解“FTP文件传输服务”安装配置实例

    "FTP文件传输服务"安装配置实例 家住海边喜欢浪:zhang789.blog.51cto.com 目录 简介 ftp工作原理 常见的FTP服务 Vsftpd服务器的安装 Vsft ...

  5. Ⅶ:教你一招利用zookeeper作为服务的配置中心

    2021最新zookeeper系列 ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤ ...

  6. 服务超时时间如何设置、如何对超时时间治理、超时设计原则一文揭秘!

    微服务是⼀种分布式架构,系统内各部分(服务)被部署为单独的应用程序,并通过某种远程访问协议进⾏通讯.分布式应⽤的挑战之⼀就是如何管理远程服务的可用性和它们的响应.本⽂主要探讨服务的响应时间对系统的影响 ...

  7. Redis-5.0.5集群配置

    Redis-5.0.5集群配置 版本:redis-5.0.5 参考:http://redis.io/topics/cluster-tutorial. 集群部署交互式命令行工具:https://gith ...

  8. [翻译]什么是Istio? 它是服务网格。棒极了,那什么是服务网格?

    2019独角兽企业重金招聘Python工程师标准>>> 我不知道在技术社区中有多少人有这样的观点,35年之后,我们的生活就会像是"银翼杀手"的续集."银 ...

  9. ribbon基于接口配置超时_feign的ribbon超时配置和hystrix的超时配置说明

    先看下我的配置: ribbon: MaxAutoRetries: 1 #最大重试次数,当Eureka中可以找到服务,但是服务连不上时将会重试 MaxAutoRetriesNextServer: 1 # ...

最新文章

  1. tf.reduce_max()函数的用法详解
  2. 使用搜索栏过滤collectionView(按照首字母)
  3. 利用Lua脚本语言制作魔兽WOW插件
  4. 1、前端背景图自适应
  5. java jbutton 禁用_java – 如何禁用JButton在禁用时变灰?
  6. 三维扫描仪中投射模块/投影仪推荐
  7. 【今日CV 计算机视觉论文速览 第95期】Fri, 5 Apr 2019
  8. 《富爸爸穷爸爸》读书笔记
  9. 读书笔记之张潇雨个人投资课
  10. 计算机网路——163邮箱授权码
  11. Altium Designer之PCB库部分名称区分
  12. MATLAB基础(一):MATLAB概述
  13. windows删除证书
  14. 微分方程组求解(Euler法、RK法)
  15. 【Git-7】阿里云Git仓库
  16. OpenStack“女王”驾到,开源云中文社区粉丝炸锅了!
  17. libra 学习笔记
  18. unixbench图形化测试_unixbench使用方法
  19. win10taskkill强行结束进程_Window 命令行(taskkill)强制杀死进程
  20. Qcon演讲实录|手机淘宝客户端的攻防演练实践

热门文章

  1. Discuz x2.5目录结构注释
  2. ie11上vue中使用elementui的input框无法输入中文
  3. 熟知的CRM有哪些功能特点?
  4. ECMAScript面向对象(三)——之继承
  5. JSON-RPC、XML-RPC、SOAP三者的关系
  6. Tomcat : IOException while loading persisted sessions: java.io.EOFException
  7. Hive旺旺讨论(关于mapjoin)
  8. 我的Go语言学习之旅八:创建一个简单的WEB服务器
  9. Android简单调用相机Camera功能,实现打开照相功能
  10. HBASE完全分布式安装