1.前端负载均衡
通过DNS的负载均衡器(一般在路由器上根据路由的负载重定向)可以把用户的访问均匀地分散在多个Web服务器上。
两种常用的负载均衡方法:
A. RR-DNS(Round-Robin Domain Name System) [DNS轮流排程]
这里先为每个计算机定义一个真实名字,然后再为它们定义同一个别名。 (也可对不同地址设置同一个真实名字,但用别名的方法易于管理)
较新的版本的DNS服务器上已经增加了这种功能。
优点:有对客户机和服务器透明
缺点:常不能成功(中间名服务器和客户机软件常将DNS返回的IP地址存储起来,或忽略存在时间(TTL)值)
一旦某个服务器出现故障,即使及时修改了DNS设置,还是要等待足够的时间(刷新时间)才能发挥作用
Least-connections (LCS): 向较少连接的服务器分配较多的工作(IPVS表存储了所有的活动的连接。用于实际服务主机性能一致。)
Weighted round robin (WRRS): 向较大容量的服务器分配较多的工作。可以根据负载信息动态的向上或向下调整。 (用于实际服务主机性能不一致时)
Weighted least-connections (WLC): 考虑它们的容量向较少连接的服务器分配较多的工作。容量通过用户指定的砝码来说明,可以根据装载信息动态的向上或向下调整。(用于实际服务主机性能不一致时)
B. 负载均衡器
当请求到达负载均衡器时,它会重写该请求的头文件,并将之指定到集群中的机器上。
优点:
a.服务器一致性:负载均衡器读取客户端发出的每一个请求中所包含的cookies或url解释。基于所读出的这些信息,负载均衡器就可以重写报头并将请求发往集群中合适的节点上,该节点维护着相应客户端请求的会话信息。
b. 通过故障恢复机制获得高可靠性
(1)请求级故障恢复。当集群中的一个节点不能处理请求时(通常是由于down机),请求被发送到其他节点。当然,在导向到其他节点的同时,保存在原节点上的会话信息将会丢失。
(2)透明会话故障恢复。当一个引用失败后,负载均衡器会将之发送到集群中其他的节点上,以完成操作,这一点对用户来说是透明的。由于透明会话故障恢复需要节点具备相应的操作信息,因此为了实现该功能,集群中的所有节点必须具有公共存储区域或通用数据库,存储会话信息数据,以提供每个节点在进行单独进程会话故障恢复时所需要的操作信息。
c. 统计计量
缺点:硬件路由的缺点在于费用、复杂性以及单点失败的。由于所有的请求均是通过一个单一的硬件负载均衡器来传递,因此,负载均衡器上的任何故障都将导致整个站点的崩溃。