微服务调用时的超时异常,使用feign的时候负载均衡策略的调整
1.超时:比如订单服务order-service调用商品服务product-service的接口:
此接口需要一定的响应时间,调用它的时候会遇到此异常
解决办法,在order-service配置文件application.yml里设置超时时间:
超时配置:
默认optons readtimeout是60,但是由于hystrix默认是1秒超时,所以响应超过1秒则为超时
server: port: 8781 #指定注册中心地址 eureka: client: serviceUrl: defaultZone: http://localhost:8761/eureka/ #服务的名称 spring: application: name: order-service #自定义负载均衡策略 product-service: ribbon: NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule #修改调用超时时间2s feign: client: config: default: connectTimeout: 2000 readTimeout: 2000
2.使用feign的时候负载均衡策略的调整
ribbon和feign两个的区别和选择
开发的时候选择feign
1.默认集成了ribbon
2.起来更加思路清晰和方便
3.采用注解方式进行配置,配置熔断等方式方便
所以:
feign配置负载均衡和ribbon一样,不配置默认轮询,
配置了ribbon就是配置feign,如上面文件的配置