SpringCloud——负载均衡——Ribbon

负载均衡分为集中式 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+自旋的思想,要实现在实例的列表中选择一个并返回。

相关推荐
2501_933923257 小时前
SpringCloud组件:Eureka服务注册与发现
java·开发语言·后端·spring cloud·eureka
叶总没有会16 小时前
Gateway--网关
spring cloud·微服务·gateway
海马1 天前
Spring Cloud 开发知识整理
spring·spring cloud·wpf
骑着蜗牛撵大象3271 天前
服务下线不再炸:分层关闭、TCP 存活探测与负载均衡排水的落地套路
android·tcp/ip·负载均衡·tcp·高可用·健康检查·优雅关闭
栗子~~1 天前
SpringCloud Gateway 基于 Nacos 实现动态路由
java·spring cloud·gateway
code_slave(码畜)1 天前
微服务架构落地:消息队列架构设计(上篇)——异步解耦、削峰填谷,看懂业务事件流转本质
spring boot·spring cloud·微服务·云原生·架构
code_slave(码畜)1 天前
微服务架构落地:消息队列架构设计(下篇)——消息堆积、死信治理与集群监控告警实战
spring boot·spring cloud·微服务·云原生·中间件·架构
知守观2 天前
feign-core 就在依赖树里,运行时却找不到类:一次 provided scope 引发的启动失败排查
java·spring cloud·maven
阿狗童鞋2 天前
高并发系统设计实战指南
java·spring boot·spring cloud
for_ever_love__2 天前
MySQL 高频面试题 30 问:索引、事务、锁、日志、主从与分库分表(MySQL 8.0 版)
java·数据库·spring boot·mysql·spring cloud·面试·总结