1,概述 Spring Cloud Ribbon是基于Netflix Ribbon 实现的一套客户端 负载均衡工具 简单的说,Ribbon是Netflix发布的开源项目,主要功能提供 客户端的软件负载均衡算法和服务调用,Ribbon 客户端软件提供一系列完善的配置项如连接超时、重试等,简单的说,就是在配置文件中列出Load Balance(简称LB)后面所有的机器,Ribbon会自动帮助你基于某种规则(如轮询、随机连接等)去连接这些机制,我们就很容易的用Ribbon实现负载均衡算法。 Ribbon目前也进入维护阶段了,不进行更新了。 2,LB负载均衡(Load Balance)是什么 简单的来说就是将用户请求平摊的分到多个服务器上,从而达到系统的HA(高可用) 3,Ribbon本地负载均衡客户端VSNginx服务端负载均衡区别 Nginx服务端负载均衡,客户端所有交给nginx,然后由nginx实现转发请求,即负载均衡由服务端实现。

Ribbon本地负载均衡客户端,在微服务调用接口的时,会在注册中心上获取注册列表之后缓存到本地jvm中,从而在本地实现RPC调用。

3,Ribbon能干啥 能----LB(负载均衡)—分为集中式LB和进程内LB 进程内LB(本地负载均衡) 将LB逻辑集成到消费方,消费方从服务注册中心知道有哪些地址可用,然后自己再从中选出一个适合的服务器。 Ribbon就属于进程内LB,它只是一个类库,集成于消费方进程,消费方通过它来获取服务提供方地址。 集中式LB (服务端负载均衡) 即在消费方和提供方之间使用独立的LB设备(比如nginx) ,由该设备负载把访问请求通过某种策略转发给提供方。

4,总结Ribbon Ribbon就是负载均衡+RestTemplate 总结:Ribbon其实就是一个软负载均衡的客户端组件,它可以和其他所有请求的客户单结合使用,和eurake结合就是其中一个实例。 5,Ribbon工作时 Ribbon工作时分为两步:第一步选择Eureka Server,它优先选择在同一个Zone(区域)且负载较少的Server;第二步再根据用户指定的策略,再从Server取到的服务注册列表中选择一个地址。其中Ribbon提供了很多策略,例如轮询round robin、随机Random、根据响应时间加权等。 6,使用Ribbon 1)引入架包 当我们使用了Eurake的新版本的时候,默认集成了Ribbon

org.springframework.cloud

spring-cloud-starter-netflix-eureka-server

也可以单独引入Ribbon

org.springframework.cloud

spring-cloud-starter-netflix-ribbon

2) 使用RestTemplate类

常用的接口

@Resource

private RestTemplate restTemplate;

@GetMapping("/consul")

相关链接

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: