一、添加pom依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-ribbon</artifactId>
<version>2.1.3.RELEASE</version>
</dependency>
二、yml文件配置负载策略
这里配置的随机;还有其他的策略;默认是轮询
#负载均衡规则
dc-user:
ribbon:
NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule
三、添加注解
添加 @LoadBalanced注解
@SpringBootApplication
@EnableEurekaClient
public class OrderApp {
public static void main(String[] args) {
SpringApplication.run(OrderApp.class,args);
}
@Bean
@LoadBalanced
RestTemplate restTemplate(){
return new RestTemplate();
}
四、服务类
@Service
public class OrderSercice {
@Autowired
private RestTemplate restTemplate;
public String getUSer(int id){
String url = "http://dc-user/user/{id}";
String result = restTemplate.getForObject(url,String.class,id);
return result;
}
}
五、Controller类
@RestController
public class OrderController {
@Autowired
private OrderSercice orderSercice;
@RequestMapping(value = "/order")
public String addOrder(String name,int id){
String result = orderSercice.getUSer(id);
return "商品:"+name+",生成订单:"+result;
}
}
六、总结
主要是@LoadBalanced注解的使用;添加注解后;当有多态服务时;会按照负载均策略来加载服务。