负载均衡算法的实现可以分成两部分:
1、根据负载均衡算法和Web服务器列表计算得到集群中一台Web服务器的地址
2、将请求数据发送到该地址对应的Web服务器上
负载均衡算法通常有以下几种:
1、轮询(Round Robin RR)
所有请求被依次分发到每台应用服务器上,即每台应用服务器要处理的请求数目都相同,适合于所有服务器硬件都相同的场景
2、加权轮询(Weighted Round Robin WRR)
根据应用服务器硬件性能情况,在轮询的基础上,按照配置的权重将请求分发到每个服务器,高性能的服务器能分配更多请求
3、随机(Random)
请求被随机分配到各个应用服务器,在许多场合下,这种方案都简单实用,因为好的随机数本身就很均衡。即使应用服务器硬件配置不同,也可以实用加权随机算法
4、最少连接(Least Connections)
记录每个应用服务器正在处理的连接数(请求数),将新到的请求分发到最少连接的服务器上,应该说,这是最符合负载均衡定义的算法。同样,最少连接算法也可以实现加权最少连接
5、源地址散列(Source Hashing)
根据请求来源的IP地址进行Hash计算,得到应用服务器,这样来自同一个IP地址的请求总在同一个应用服务器上处理,该请求的上下文信息可以存储在这台这台服务器上,在一个会话周期内重复使用,从而实现会话黏性