转发方式

最近更新时间:2018-01-05 11:44:57

转发方式

转发方式是指负载均衡向后端服务器分配流量的算法,根据不同的转发方式及后端服务器的权重设置,可以达到不同的效果。

加权轮询算法

加权轮询算法就是以轮叫的方式依次将请求调度不同的服务器。加权轮询调度算法可以解决服务器间性能不一致的情况,它用相应的权值表示服务器的处理性能,按权值的高低和轮询方式分配请求到各服务器。权值高的服务器先收到连接,权值高的服务器比权值低的服务器处理更多的连接,相同权值的服务器处理相同数目的连接。

优势:算法简洁。它无需记录当前所有连接的状态,所以它是一种无状态调度。

劣势:不适用于请求服务时间变化比较大,或者每个请求所消耗的时间不一致的情况,此时轮询调度算法容易导致服务器间的负载不平衡。

适用场景:每个请求所占用的后端服务器时间基本相同,常用于短连接服务,例如 HTTP 等服务。

加权最小连接数算法

在实际情况中,客户端的每一次请求在服务器停留的时间可能会有较大的差异,随着工作时间的延伸,如果采用简单的轮询算法,每一台服务器上的连接进程数目可能会产生极大的不同,这样实际上并没有达到真正的负载均衡。

最小连接数调度是一种动态调度算法,它通过服务器当前活跃的连接数来估计服务器的负载情况。调度器需要记录各个服务器已建立连接的数目,当一个请求被调度到某台服务器,其连接数加一;当连接中止或超时,其连接数减一。

加权最小连接数算法是在最小连接数调度算法的基础上,根据服务器的不同处理能力,给每个服务器分配不同的权值,使其能够接受相应权值数的服务请求,是在最小连接数调度算法基础上的改进。

1) 假设各台后端服务器的权值依次为 wi,当前连接数依次为 ci,依次计算 ci/wi,值最小的后端服务器实例作为下一个分配的实例。

2) 如果存在 ci/wi 相同的后端服务器实例,再使用加权轮询的方式调度。

优势:此种均衡算法适合处理长时的请求服务,如 FTP 等应用。

劣势:相较于加权轮询算法,加权最小连接数算法需要保存服务器现有的连接数目,它是一种有状态调度。

适用场景:每个请求所占用的后端时间相差较大的场景,常用于长连接服务。如 2 ms 和 2s 这种数量级的差距时,推荐使用加权最小连接数算法实现负载均衡。

金山云,开启您的云计算之旅

注册有礼