@loadbalanced负载均衡

1.在代码中加入@loadbalanced注解
@Configuration
public class RestTemplateConfig {

    @Bean
    @LoadBalanced
    public RestTemplate restTemplate(RestTemplateBuilder builder) {
        return builder.build();
    }
}

2.通过服务名的方式调用代替ip:port

        String url = "http://userservice/user/" + userId;
        User user = restTemplate.getForObject(url, User.class);

3.负载均衡规则

(1)系统默认存在规则。

(2)通过bean方式指定,系统调用所有微服务规则统一。

   //轮询 
  @Bean
public IRule roundRule(){ return new RoundRobinRule(); }
  
   //随机  
  @Bean public IRule randomRule(){ return new
RandomRule();
  }
 

4.单独配置微服务的规则,配置userservice服务的规则是轮询

userservice:
  ribbon:
    NFLoadbalancerRuleClassName: com.netflix.loadbalancer.RoundRobinRule

 

posted @ 2022-05-09 15:18  疯靡  阅读(191)  评论(0)    收藏  举报