Ribbon的学习思路
它是什么
SpringCloud Ribbon是基于Netflix Ribbon实现的一套客户端负载均衡的工具。
它能干什么
它主要功能是提供客户端的软件负载均衡算法,将Netflix的中间层服务连接在一起。简单的说,就是在配置文件中列出LoadBalancer后面所有的机器,Ribbon会自动的帮组你基于某种规则(如轮询、随机或权重连接等等)去连接这些机器。我们也可以很容易的使用Ribbon来实现自己定义的负载均衡算法。
负载均衡
LB是在微服务或分布式集群中经常使用的一种技术。
简单的说,负载均衡就是将用户的请求平均的分摊到多个相同服务上,从而达到系统的高性能,高可用。
常见的高可用软件有Nginx,Lvs,Apache+Tomcat在文件中配置等等。
Dubbo、SpringCloud均给我们提供了负载均衡,SpringCloud的负载均衡算法可以自定义。
负载均衡的简单分类:
-
集中式LB
在消费方和服务方之间使用独立的LB设施,如Nginx:反向代理服务器,由设施负责按照某种规则把请求发送给服务方。
-
进程式LB
将负载均衡逻辑集成到消费方,消费方从服务注册中心获取有哪些地址可用,然后从中选取一个合适的服务器。
Ribbon就属于进程式LB,它只是一个类库,集成于消费方进程,消费方通过它来获取服务方提供的地址。
怎么使用它
1.在消费方模块导包
<!--Ribbon-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-ribbon</artifactId>
<version>1.4.6.RELEASE</version>
</dependency>
2.配置文件
无
3.开启这个功能,注解
//Ribbon和Eureka整合之后,客户端不需要之间通过服务名调用,不用再关心地址和端口号
//Eureka
4.启动测试
略
再增加两个服务提供方,可以看到每次从不同的服务提供方获取数据。
-
增加两个数据库。
-
导包。(与第一服务提供方模块一样)
-
添加配置文件。(除了端口,数据库,其他一样)
server
4.包中所有文件。
5.添加启动类,端口需要修改。
6.启动测试
自定义负载均衡算法
posted on 2021-12-04 22:15 lilele200706 阅读(79) 评论(0) 收藏 举报
浙公网安备 33010602011771号