Ribbon与Feign的入门使用

1. 负载均衡Ribbon

Spring Cloud Ribbon是基于Netflix Ribbon实现的一套客户端负载均衡的工具。

Ribbon与Feign的入门使用_第1张图片

负载均衡策略

  • 随机策略:该策略实现了从服务清单中随机选择一个服务实例的功能。
  • 轮训策略:该策略实现按照线性轮询的方式依次选择实例的功能。

基于基于ribbon实现负载均衡

  • 开启ribbon负载均衡,注解@LoadBalanced

    @Configuration
    		public class ConfigBean {
         
    			@Bean
          /**
    	 * 添加了@LoadBalanced注解之后,Ribbon会给restTemplate请求添加一个拦截器,在拦截器中获取
    	 * 注册中心的所有可用服务,通过获取到的服务信息(ip,port)替换 serviceId 实现负载请求。
    	 */
    			@LoadBalanced //开启负载均衡,默认是轮询策略
    			public RestTemplate getRestTemplate(){
         
    				return new RestTemplate();
    			}//指定随机策略
    		@Bean
    		public IRule iRule() {
         
    			return new RandomRule();
    		}
    
  • 发送请求,借助RestTemplate对象发送请求,请求路径不再是ip+端口号,而是在nacos注册的服务名

    String serviceUrl = "ribbon-provider";
    return restTemplate.getForObject("http://" + serviceUrl + "/provider/getUserById/" + id, User.class);
    

你可能感兴趣的:(ribbon,java,spring,cloud)