今天遇见一个问题,通过zuul访问一个获取树状数据的方法一直报Gateway Timeout, status=504 ,

{
  "timestamp": "2020-06-29T11:42:00.366+0000",
  "status": 504,
  "error": "Gateway Timeout",
  "message": "com.netflix.zuul.exception.ZuulException: Hystrix Readed time out"
}

发现是被zuul熔断了

com.netflix.zuul.exception.ZuulException: 
    at org.springframework.cloud.netflix.zuul.filters.post.SendErrorFilter.findZuulException(SendErrorFilter.java:114) ~[spring-cloud-netflix-zuul-2.0.1.RELEASE.jar:2.0.1.RELEASE]
    at org.springframework.cloud.netflix.zuul.filters.post.SendErrorFilter.run(SendErrorFilter.java:76) ~[spring-cloud-netflix-zuul-2.0.1.RELEASE.jar:2.0.1.RELEASE]
    at com.netflix.zuul.ZuulFilter.runFilter(ZuulFilter.java:117) [zuul-core-1.3.1.jar:1.3.1]

而访问其他方法则不会,且通过端口直接访问不会报错。后来发现时zuul没配置响应时间,而我访问的方法响应时间超过了

zuul的默认响应时间2秒。所以配置了一下application.yml就ok了

ribbon:
  ReadTimeout: 120000  #请求处理的超时时间
  ConnectTimeout: 30000  #请求连接的超时时间

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐