spring cloud在配置zuul访问后报错,微服务响应超时问题

本文介绍了在使用Spring Cloud Zuul作为微服务网关时遇到的访问超时问题。当通过Zuul路由到某个执行时间较长的服务接口时,Zuul会提前熔断。为了解决这个问题,需要在Zuul和Ribbon配置中增加readTimeout和connectTimeout属性,以延长超时时间。调整配置后,超时问题得到解决。

報錯內容:

2019-12-19 11:11:34.267  INFO 5640 --- [erListUpdater-0] c.netflix.config.ChainedDynamicProperty  : Flipping property: service-ribbon.ribbon.ActiveConnectionsLimit to use NEXT property: niws.loadbalancer.availabilityFilteringRule.activeConnectionsLimit = 2147483647
2019-12-19 11:11:34.954  WARN 5640 --- [nio-8769-exec-1] o.s.c.n.z.filters.post.SendErrorFilter   : Error during filtering

com.netflix.zuul.exception.ZuulException:

...........

原因是:采用zuul作为网关,根据不同的访问路径进行微服务的路由,譬如有个服务是user,我访问user服务的某个接口时,该接口执行时间很慢,2秒多,然后还没执行完,zuul就执行熔断了。

所以需要在zuul中配置ribbon的readTimout和sockeTimout属性,配置如下:

eureka:
  client:
    serviceUrl:
      defaultZone: http://localhost:8761/eureka/
server:
  port: 8769
spring:
  application:
    name: service-zuul
zuul:
  routes:
    api-a:
      path: /api-a/**
      serviceId: service-ribbon
    api-b:
      path: /api-b/**
      serviceId: service-feign
      #问题描述:采用zuul作为网关,根据不同的访问路径进行微服务的路由,譬如有个服务是user,我访问user服务的某个接口时,该接口执行时间很慢,2秒多,然后还没执行完,zuul就执行熔断了。
      #ribbon.ReadTimeout,ribbon.SocketTimeout这两个就是ribbon超时时间设置
ribbon:
  ReadTimeout: 60000
  ConnectTimeout: 60000
 

主要是超時導致

再次访问bug解决了

查看另外的博客:https://blog.youkuaiyun.com/wangxi_xixi/article/details/80348089

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值