当网站的访问量过大时,就要考虑用多台服务器来实现负载均衡
要实现负载均衡可以有很多方式,归纳起来就是 一种是从硬件上来实现,另一种是从软件上来实现
硬件上实现: 如 cicso思科的硬件设备 还有一个就是 F5 硬件设备, 以硬件来实现,简单,其重要的鄙端就是 烧钱!! 一个F5设备,大约要100万人民币
软件上实现: windows server 和 linux 都有自己的一系列软件可以实现这种负载均衡
我们这里主要讲一下,linux 的lvs((Linux Virtual Server) 实现的负载均衡
linux实现这个功能又有三种方式,1.基于 net 的 (地址转换的)
IP隧道(IP tunneling)是将一个IP报文封装在另一个IP报文的技术,这可以使得目标为一个IP地址的数据报文能被封装和转发到另一个IP地址。
3VS/DR方式是通过改写请求报文中的MAC地址部分来实现的
其中,第2,3两种方式有点相似,并且有几个服务器就需要几个公网的IP,所有使用的局限(一般公司只有一个公网的IP)
所以这里我们着重说第一种 net方式的 如图
以上如图将每一台服务器的 网卡ip 网关等配置好后
1 .开启服务器A的路由服务,把服务器A, 变成一台路由器
命令 # echo 1 > /proc/sys/net/ipv4/ip_forward //这里就把服务器A变成了一台路由器
2.通过ipvsadm命令配置lvs
命令 # ipvsadm -C // 这句话的意思是 清除以前配置的 ipvsadm (注意大小写 -C)
#ipvsadm -A -t 121.27.120.251:80 -s rr
# ipvsadm -a -t 121.27.120.251:80 -r 192.168.10.2 -m
#ipvsadm -a -t 121.27.120.251:80 -r 192.168.10.3 -m
经过以上几步基本配置完成,在服务器B和服务器C上面分别搭那建两个web服务器,在分别设置其主页的内容是 BBBB 和CCC
从外网来多次请求试试,看看BBBB 和 CCC应该是交替出现的,表示负载均衡搭建完毕