负载均衡服务器的实现可以分成两个部分:
1、根据负载均衡算法和Web服务器列表计算得到集群中一台Web服务器的地址。
2、将请求数据发送到该地址对应的Web服务器上。
前面描述了如何将请求数据发送到Web服务器,而具体的负载均衡算法通常有以下几种:
一、轮询(Round Robin,RR)
所有请求被依次分发到每台应用服务器上,即每台服务器需要处理的请求数目都相同,适合于所有服务器硬件都相同的场景。
二、加权轮询(Weighted Round Robin,WRR)
根据应用服务器硬件性能的情况,在轮询的基础上,按照配置的权重将请求分发到每个服务器,高性能的服务器能分配更多请求。
三、随机(Random)
请求被随机分配到各个应用服务器,在许多场合下,这种方案都很简单实用,因为好的随机数本身就很均衡。即使应用服务器硬件配置不同,也可以使用加权随机算法。
四、最少连接(Least Connections )
记录每个应用服务器正在处理的连接数(请求数),将新到的请求分发到最少连接的服务器上,应该说,这是最符合负载均衡定义的算法。同样,最少连接算法也可以实现加权最少连接。
五、源地址散列(Source Hashing)
根据请求来源的IP地址进行Hash计算,得到应用服务器,这样来自同一个IP地址的请求总在同一个服务器上处理,该请求的上下文信息可以存储在这台服务器上,在-个会话周期内重复使用,从而实现会话黏滞。
参考资料:大型网站技术架构核心原理与案例分析第五章
完结!