轮询
顾名思义将请求按顺序轮流地分配到后端服务器上,它均衡地对待后端的每一台服务器,而不关心服务器实际的链接数和当前的系统负载。算法
优势 | 缺点 |
---|---|
服务器请求数据相同 | 服务器压力不一样,不适合根据服务器配置不一样的状况 |
随机
经过系统的随机算法,根据后端服务器的列表大小值来随机选取其中的一台服务器进行访问。由几率统计理论能够得知,随着客户端调用服务端的次数增多,其实际效果愈来愈接近于平均分配调用量到后端的每一台服务器,也就是轮询的结果。后端
优势 | 缺点 |
---|---|
使用简单 | 服务器压力不一样,不适合根据服务器配置不一样的状况 |
源地址哈希
源地址哈希的思想是根据获取客户端的IP地址,经过哈希函数计算获得的一个数值,用该数值对服务器列表的大小进行取模运算,获得的结果即是客服端要访问服务器的序号。采用源地址哈希法进行负载均衡,同一IP地址的客户端,当后端服务器列表不变时,它每次都会映射到同一台后端服务器进行访问。服务器
优势 | 缺点 |
---|---|
未来自同一IP地址的请求,同一会话期内,转发到相同的服务器;实现会话粘滞。 | 目标服务器宕机后,会话会丢失 |
加权轮询法
不一样的后端服务器可能机器的配置和当前系统的负载并不相同,所以它们的抗压能力也不相同。给配置高、负载低的机器配置更高的权重,让其处理更多的请;而配置低、负载高的机器,给其分配较低的权重,下降其系统负载,加权轮询能很好地处理这一问题,并将请求顺序且按照权重分配到后端。负载均衡
优势 | 缺点 |
---|---|
根据权重,调节转发服务器的请求数目 | 使用相对复杂 |
加权随机法
与加权轮询法同样,加权随机法也根据后端机器的配置,系统的负载分配不一样的权重。不一样的是,它是按照权重随机请求后端服务器,而非顺序。函数
最小链接数法
最小链接数算法比较灵活和智能,因为后端服务器的配置不尽相同,对于请求的处理有快有慢,它是根据后端服务器当前的链接状况,动态地选取其中当前积压链接数最少的一台服务器来处理当前的请求,尽量地提升后端服务的利用效率,将负责合理地分流到每一台服务器。table
优势 | 缺点 |
---|---|
根据服务器当前的请求处理状况,动态分配 | 算法实现相对复杂,须要监控服务器请求链接数 |