负载均衡服务器的实现可以分成两个部分:

1、根据负载均衡算法和Web服务器列表计算得到集群中一台Web服务器的地址。

2、将请求数据发送到该地址对应的Web服务器上。

前面描述了如何将请求数据发送到Web服务器,而具体的负载均衡算法通常有以下几种:

一、轮询(Round Robin,RR)

所有请求被依次分发到每台应用服务器上,即每台服务器需要处理的请求数目都相同,适合于所有服务器硬件都相同的场景。

二、加权轮询(Weighted Round Robin,WRR)

根据应用服务器硬件性能的情况,在轮询的基础上,按照配置的权重将请求分发到每个服务器,高性能的服务器能分配更多请求。

三、随机(Random)

请求被随机分配到各个应用服务器,在许多场合下,这种方案都很简单实用,因为好的随机数本身就很均衡。即使应用服务器硬件配置不同,也可以使用加权随机算法。

四、最少连接(Least Connections )

记录每个应用服务器正在处理的连接数(请求数),将新到的请求分发到最少连接的服务器上,应该说,这是最符合负载均衡定义的算法。同样,最少连接算法也可以实现加权最少连接。

五、源地址散列(Source Hashing)

根据请求来源的IP地址进行Hash计算,得到应用服务器,这样来自同一个IP地址的请求总在同一个服务器上处理,该请求的上下文信息可以存储在这台服务器上,在-个会话周期内重复使用,从而实现会话黏滞。

参考资料:大型网站技术架构核心原理与案例分析第五章

完结!