使用Linux实现负载均衡[1]

[入库:2005年9月21日] [更新:2007年3月24日]

本文简介:


常见的负载平衡方法


1、DNS负载平衡的方法


RR-DNS(Round-Robin Domain Name System) 轮流排程的方式是:在DNS服务器中,可以为多个不同的IP地址配置同一个名称,当客户端查询这个名字时将在解析这个名称时得到其中的一个地址。因此,对于同一个名字,不同的客户端会得到不同的地址,他们也就连结不同地址上的Web服务器,从而达到负载平衡的目的。例如 : 当客户端连结 www.muti-ip.com.tw这名称时,DNS 有能力依序将名称解析到 202.1.1.1 、 202.1.1.2 、202.1.1.3和 202.1.1.4等不同的网络地址,而这些是提供相同服务的主机,让客户端不自觉有不同



2、服务端应用层和IP层的负载平衡方法


EDDIE、Reverse-Proxy和SWEB 都使用属于应用层负载平衡的方法将到达的HTTP请求转发到不同的Web 服务器,取得结果后,再返回给用户。Berkeley的MagicRouter、Cisco的LocalDirector、Altheon 的ACEDirector和F5的Big/IP等都是使用网络地址转换NAT的方法,目前在Linux 上Cluster的方式也是用这种方法达成的。



3、集群( Cluster )Server 达成负载平衡的方法


集群能达到的机制


a. 分身服务 将两个以上的服务器连贯成服务器群,每台提供相同服务


b. 不疑有他 客户端感觉只有一台机器在提供服务


c. 备份能力 也就是当其中有某台服务器出问题时,不会有服务中断的情形


d. 可扩充性 当客户数量增加时,可在不中止服务的情形下扩充服务器


e. 负载平衡 将客户端的要求科学的分配给服务器,不致让主机负载过量



在Linux Cluster 实现负载平衡的软件 ----LVS( Linux Virtual Server )


Linux上集群的达成是实施 Linux Virtual Server ( LVS ) 的架设


LVS可称为Linux虚拟服务器,它具备高可用性、可扩充性和科学性的数学运算,而这些也就是集群系统 (Cluster System)的应用。


高可用性High-Availability (HA) 不允许有服务中断的情形发生时。由两台以上的计算机通过一定方式互相监听,当主要服务器主机出现问题而无预警的停止服务时,备份服务器能够自动立即接替工作,使客户端感觉不出有异。
可扩充性 (Scalability) 应用在web 、ftp server上为多。当用户连结一个地址,但实际上是有若干台服务器在提供服务。而当服务请求达到饱和时,还可以很容易地再添加新的节点而不用停掉整个cluster,实现所谓的"热插拔",这也就是Cluster中的一个概念-Scalability (易扩展性)。而且,cluster还会查询真实节点的情况,当某台真实节点没有响应时,就不再把任务分配到那里,直到这台节点恢复正常。
科学的数学运算 (Scientific) 用于效能、图像处理等计算
Cluster已经发展多年,也比较成熟了。之前需要专业的软/硬设备才能实现。所以只有少数公司才有能力用的起。现在Linux上的LVS就可以让你在PC上架设Cluster的解决方案,使更多的人有机会构建自己的cluster。
LVS提供了三种转发机制(Traffic Forward Mechanism)、四种分配方法(Load-balancing Methods),以下详述


三转发机制(Traffic Forward Mechanism)


三种不同的转发机制分别将LVS主机建构成


NAT虚拟主机 Virtual Server via Network Address Translation
IP Tunneling虚拟主机 Virtual Server via IP Tunneling
Direct Routing虚拟主机 Virtual Server via Direct Routing
负载平衡主机可称为Virtual Server ( 虚拟主机 )、Load Balancer (负载平衡器)、Linux Director (导引主机),以下简称为LVS主机


 


NAT虚拟主机 Virtual Server via Network Address Translation ( VS/NAT )



本文关键:使用Linux实现负载均衡
  相关方案
Google
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top