教程仓库:github Spring-Cloud-Alibaba-Learning
教程索引页:index Spring-Cloud-Alibaba-Learning
Ribbon
什么是Ribbon
简单来说,Ribbon是Netflix开源的客户端侧负载均衡器。
什么叫客户端侧?
负载均衡分为服务端负载均衡和客户端侧负载均衡。
-
服务端负载均衡
由服务端来完成负载均衡。
例如使用nginx做反向代理,由nginx完成负载均衡,并转发请求到真正的服务节点上。
由于nginx也是部署在服务端,故这属于服务端负载均衡。
-
客户端侧负载均衡
由客户端来完成负载均衡。
例如本例中有2个service-b实例,由service-a来调用两个实例的服务。
此时由于service-a是服务调用者,service-b是服务生产者,所以也可以认为service-a是客户端,service-b是服务端。
由service-a实现负载均衡,将一部分请求打在service-b的A节点上,另一部分请求打在B节点上。这就是客户端侧负载均衡。
使用方式
在客户端(也就是我们的service-a)中集成Ribbon,选择我们需要的负载均衡算法(Ribbon提供了多种负载均衡算法),并集成到RestTemplate上,进行经过负载均衡后的远程调用。
上篇:Spring Cloud Alibaba教程——Nacos(二)微服务调用
下篇:Spring Cloud Alibaba教程——手写负载均衡器
欢迎关注公众号Jyannis,你将获得:
- 从零基础到Java后台全面入门
- Java相关笔经面经资料
- 学长学姐的血泪面经故事
- 包括但不限于阿里、蚂蚁、字节、美团等大厂的内推通道及面试指导
- 有关大厂工作体验的交流机会