@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

浙公网安备 33010602011771号