!!!重点,注意如果ribon没有生效,那么就是spring里面的服务名不能用下划线,得像这样
user-providers
user_providers 错误的
eureka依赖里面已经添加了
参考Spring Cloud之Ribbon负载均衡(Spring Cloud 2020.0.3版) - 肖恩雷 - 博客园 (cnblogs.com)
直接在restTemplate上面加上@LoadBalanced //启动负载均衡
@Bean
@LoadBalanced //启动负载均衡
public RestTemplate restTemplate(){
return new RestTemplate();
}
@GetMapping("look")
public User look(){
User user = restTemplate.getForObject("http://user-provider/user/2", User.class);
return user;
}
#默认是ZoneAvoidanceRule
#service-provider-user这个是对应的微服务的名字
#如果想要所有微服务都用一个负载均衡策略可以把service-provider-user改成
#default
service-provider-user:
ribbon:
NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule
具体有哪些负载均衡策略,可以看一下(14条消息) springcloud之ribbon自定义负载均衡规则_有梦想的咸鱼的博客-CSDN博客_zoneavoidancerule