(2) 服务消费者
修改服务消费者 shop_service_order模块中的启动类OrderApplication ,在创建RestTemplate方法上添加 @LoadBalanced 注解
/**
- 基于Ribbon的服务调用与负载均衡
*/
@LoadBalanced
@Bean
public RestTemplate getRestTemplate() {
return new RestTemplate();
}
在 shop_service_order的OrderController 中添加下单方法,并使用RestTemplate完成服务调用
@Autowired
private RestTemplate restTemplate;
@GetMapping(“/buy/{id}”)
public Product order() {
//通过restTemplate调用商品微服务
//Product product =
restTemplate.getForObject(“http://127.0.0.1:9002/product/1”, Product.class);
Product product = restTemplate.getForObject(“http://shop-serviceproduct/product/1”, Product.class);
return product;
}
(3) 测试
浏览器中请求http://localhost:9001/order/buy/1查看展示效果如下,已经可以在订单微服务中已服务
名称的形式调用商品微服务获取数据
1、负载均衡概述
在搭建网站时,如果单节点的 web服务性能和可靠性都无法达到要求;或者是在使用外网服务时,经常担心被人攻破,一不小心就会有打开外网端口的情况,通常这个时候加入负载均衡就能有效解决服务问题。
负载均衡是一种基础的网络服务,其原理是通过运行在前面的负载均衡服务,按照指定的负载均衡算