SpringCloud——负载均衡——Ribbon-CSDN博客
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
负载均衡分为集中式LB(Nginx实现)和进程内LB(Ribbon)。
Ribbon简单来说就是负载均衡+RestTemplate调用。
1.Ribbon在工作中分成两步
1.先选择EurekaServer它优先选择在同一个区域内负载较少的EurekaServer。
2.在根据用户指定的策略从服务注册的列表上选择一个地址。
注意spring-cloud-starter-netflix-eureka-client这个jar内部引入了ribbon
2.轮询算法的继承结构
3.Ribbon默认轮询算法的原理
里面会有一个调用服务次数的计数器采用 计数器%此服务实例的个数 = 最终调用的服务的下标索引。服务每次重启的话计数器又从1重新开始。
4.手写轮询算法
CAS+自旋的思想要实现在实例的列表中选择一个并返回。