Ribbon的使用
Spring Cloud Ribbon是一个基于HTTP和TCP的客户端负载均衡工具,它基于Netflix Ribbon实现。
可以让我们轻松地将面向服务的REST模版请求自动转换成客户端负载均衡的服务调用。
我们通常所说的负载均衡都指的是服务端负载均衡,比如Nginx,Ribbon是一个基于客户端负载均衡,在客户端负载均衡中,所有客户端节点都维护着自己要访问的服务端清单,而这些服务端端清单来自于服务注册中心,比如上一章我们介绍的Eureka服务端。
将
通过Spring Cloud Ribbon的封装,我们在微服务架构中使用客户端负载均衡调用非常简单,只需要如下两步:
??服务提供者只需要启动多个服务实例并注册到一个注册中心或是多个相关联的服务注册中心。
??服务消费者直接通过调用被@LoadBalanced注解修饰过的RestTemplate来实现面向服务的接口调用,如下
@SpringBootApplication public class OrderServiceApplication { public static void main(String[] args) { SpringApplication.run(OrderServiceApplication.class, args); } @Bean @LoadBalanced public RestTemplate restTemplate(){ return new RestTemplate(); }
通过注入RestTemplate使用:(其中 “product-service”就是自己向Eureka中注册的Provider名称)
@Autowired private RestTemplate restTemplate; @Override public ProductOrder save(Integer userId, Integer productId) { restTemplate.getForObject("http://product-service/api/v1/product/findById?id="+productId,Object.class);
这样,我们就可以将服务提供者的高可用以及服务消费者的负载均衡调用一起实现了。
相关推荐
azhuye 2020-11-12
liupengqwert 2020-10-28
YzhilongY 2020-08-31
crazyjingling 2020-08-16
swtIrene 2020-08-14
slovyz 2020-08-14
tinydu 2020-08-09
tinydu 2020-08-03
Studynutlee 2020-08-03
快乐de馒头 2020-07-29
yungame 2020-07-27
buaichidoufu 2020-07-28
wanjichun 2020-07-26
极地雪狼 2020-07-26
yungame 2020-07-04
畅聊架构 2020-06-28
极地雪狼 2020-06-27
廖先贵 2020-06-23