Java面试题总结13之spring cloud负载均衡算法,类型

1、轮询法

将请求按顺序轮流地分配到后端服务器上,它均衡地对待后端的每一台服务器,而不关心服务器实际的连接数和当前的系统负载。

2、随机法

通过系统的随机算法,根据后端服务器的列表大小值来随机选取其中的一台服务器进行访问。由概率统计理论可以得知,随着客户端调用服务端的次数增多,

其实际效果越来越接近于平均分配调用量到后端的每一台服务器,也就是轮询的结果。

3、源地址哈希法

源地址哈希的思想是根据获取客户端的IP地址,通过哈希函数计算得到的一个数值,用该数值对服务器列表的大小进行取模运算,得到的结果便是客服端要访问服务器的序号。采用源地址哈希法进行负载均衡,同一IP地址的客户端,当后端服务器列表不变时,它每次都会映射到同一台后端服务器进行访问。

4、加权轮询法

不同的后端服务器可能机器的配置和当前系统的负载并不相同,因此它们的抗压能力也不相同。给配置高、负载低的机器配置更高的权重,让其处理更多的请;而配置低、负载高的机器,给其分配较低的权重,降低其系统负载,加权轮询能很好地处理这一问题,并将请求顺序且按照权重分配到后端。

5、加权随机法

与加权轮询法一样,加权随机法也根据后端机器的配置,系统的负载分配不同的权重。不同的是,它是按照权重随机请求后端服务器,而非顺序。

6、最小连接数法

最小连接数算法比较灵活和智能,由于后端服务器的配置不尽相同,对于请求的处理有快有慢,它是根据后端服务器当前的连接情况,动态地选取其中当前

积压连接数最少的一台服务器来处理当前的请求,尽可能地提高后端服务的利用效率,将负责合理地分流到每一台服务器。

类型

DNS方式实现负载均衡

硬件负载均衡:F5 和A10

软件负载均衡:Nginx 、HAproxy、LVS

Nginx:七层负载均衡(应用层,根据不同的URL制定不同的规则,不同的URL路由到不同的server层,跟客户端或者服务端维护一个长连接),支持HTTP,E-mail协议,同时也支持四层负载均衡(传输层)。

HAproxy:支持七层规则,OpenStack默认使用的负载均衡软件。

LVS:运行在内核态(四层,传输层,负责转发),性能是软件负载均衡中最高的,严格来说工作在三层,所以也更通用,适用于各种应用服务。

相关推荐
LuckyTHP2 分钟前
java 使用zxing生成条形码(可自定义文字位置、边框样式)
java·开发语言·python
热河暖男6 分钟前
【实战解决方案】Spring Boot+Redisson构建高并发Excel导出服务,彻底解决系统阻塞难题
spring boot·后端·excel
残花月伴31 分钟前
springCloud/Alibaba常用中间件之Seata分布式事务
分布式·spring cloud·中间件
Trent198536 分钟前
影楼精修-肤色统一算法解析
图像处理·人工智能·算法·计算机视觉
feifeigo12339 分钟前
高光谱遥感图像处理之数据分类的fcm算法
图像处理·算法·分类
北上ing2 小时前
算法练习:19.JZ29 顺时针打印矩阵
算法·leetcode·矩阵
睎zyl3 小时前
Spark自定义分区器-基础
大数据·分布式·spark
无声旅者3 小时前
深度解析 IDEA 集成 Continue 插件:提升开发效率的全流程指南
java·ide·ai·intellij-idea·ai编程·continue·openapi
.格子衫.3 小时前
真题卷001——算法备赛
算法
XiaoyaoCarter3 小时前
每日一道leetcode
c++·算法·leetcode·职场和发展·二分查找·深度优先·前缀树