微服务调用时的超时异常,使用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,如上面文件的配置

原文地址:https://www.cnblogs.com/big-cut-cat/p/9893572.html