: Hystrix Readed time out 解决方案

时间:2024-11-15 16:55:49

(一)问题描述

在这里插入图片描述

在地址栏中输入 http://192.168.178.1:9527/aigou/product/productType/treeData 请求路径就显示超时异常了

于是网上各种找方案,发现原来是我们在浏览器输入地址通过Zuul网关来访问我的产品服务,而Zuul网关的默认路由地址是http://zuul网关的Host地址:zuul端口/要调用的服务名/服务方法地址

因为我采用了Fegin,底层也是使用的是Ribbon负载均衡,Zuul的默认超时时间比较小,所以我将Zuul的超时时间大于ribbon的超时时间,于是就不再显示超时异常了

(二)解决方案

在Zuul网关中的内配置zuul和ribbon的超时时间,不使用默认的超时时间

zuul:
  host:
    connect-timeout-millis: 15000 #HTTP连接超时大于Hystrix的超时时间
    socket-timeout-millis: 60000   #socket超时
  routes:
    : user-provider
    : /user/**
    : aigou-product
    : /product/**
  ignored-services: "*"
  prefix: /aigou
ribbon:        #设置ribbon的超时时间小于zuul的超时时间
  ReadTimeout: 10000
  ConnectTimeout: 10000

在yml中一定要注意等级层次的缩进,有些小细节,稍不注意,就踩坑了