一、Feign负载均衡介绍
Feign本身集成了Ribbon依赖和自动配置,因此不需要额外引入依赖,也不需要再注册RestTemplate对象
Feign内置的ribbon默认设置了请求超时时长,默认是1000,可以修改
ribbon内部有重试机制,一旦超时,会自动重新发起请求。如果不希望重试可以关闭配置:
二、在Application.yml配置文件中加入
# 修改服务地址轮询策略,默认是轮询,配置之后变随机
# WeightedResponseTimeRule 根据服务响应时间权重值策略
# RoundRobinRule 轮询策略
# RandomRule 随机策略
# Zone Avoidance Rule 区域避免规则。
# 配置负载均衡
consumer-demo:ribbon:NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule #默认是轮询,配置为随机ConnectTimeout: 1000 # 连接超时时间ReadTimeout: 2000 # 数据读取超时时间,连接之后,数据传输过程MaxAutoRetries: 0 # 最大重试次数(第一个服务)MaxAutoRetriesNextServer: 0 # 最大重试下一个服务次数(集群的情况才会用到)OkToRetryOnAllOperations: false # 是否对所有的请求都重试