(一)问题描述
在地址栏中输入 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中一定要注意等级层次的缩进,有些小细节,稍不注意,就踩坑了