1 摘要
在上篇博客:电商平台学习笔记(五)——整体网站架构分析中,分析了网站整体架构,在文中提到了搭建负载均衡服务器来提升整体的网站性能,现在就以搭建LVS/DR负载均衡服务器为例。一共搭建三台Centos6.5虚拟机,如下表:
| 主机名 | IP地址 | 描述 |
| Centos1 | eth0:10.106.0.202 子网掩码:255.255.0.0 | 负载均衡服务器 |
| Centos2 | eth0:10.106.0.203 子网掩码:255.255.0.0 | 真实服务器 |
| Centos3 | eth0:10.106.0.204 子网掩码:255.255.0.0 | 真实服务器 |
DR策略原理图见下图:

DR策略最大的优点就是将请求和响应分离,是和优秀的一种的策略。
2 工具/原料
- VMware WorkStation12
- Centos6.5
- SecureCRT7.3
3 方法/步骤
3.1 配置Tomcat服务器
1 service iptables stop 2 chkconfig iptables off 3 chkconfig iptables --list 4 #关闭防火墙,如果终端出现的全是off,则表示已成功关闭防火墙 5 cd /var/www/html 6 touch index.html 7 vim index.html #编辑文件,内容可随便输入,我以Hello World为例 8 service httpd start
最后,在浏览器中输入ip(可通过ifconfig查询,端口默认为80),即可看见index.html文件内容
3.2 搭建两台真实服务器
脚本如下:
1 cd /etc/init.d
2 touch realserver
3 chmod u+x realserver
4 vim realserver
文件创建之后,粘贴下面代码
1 SNS_VIP=10.106.1.250 #VIP,注意切勿与本机处于同一网段,即10.106.0.0/16网段 2 . /etc/rc.d/init.d/functions 3 case "$1" in 4 start) 5 #添加路由 6 ifconfig lo:0 $SNS_VIP netmask 255.255.255.255 broadcast $SNS_VIP 7 /sbin/route add -host $SNS_VIP dev lo:0 8 echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore 9 echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce 10 echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore 11 #VIP,负载均衡服务器对外公开 12 echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce 13 sysctl -p >/dev/null 2>&1 14 echo "RealServer Start OK" 15 ;; 16 stop) 17 ifconfig lo:0 down 18 #删除路由 19 route del $SNS_VIP >/dev/null 2>&1 20 echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore 21 echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce 22 echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore 23 echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce 24 echo "RealServer Stoped" 25 ;; 26 *) 27 echo "Usage: $0 {start|stop}" 28 exit 1 29 esac 30 exit 0
检查配置是否生效:
1 chkconfig realserver on 2 service realserver start
3.3 搭建keepalived负载均衡服务器
1 yum -y install keepalived #安装keepalived,使用uname -a查看版本内核,如果在2.6以上,则内置了LVS 2 more /etc/keepalived/keepalived.conf 3 vim /etc/keepalived/keepalived.conf
打开配置文件之后,编辑如下代码:
1 global_defs { 2 # notification_email { 3 # admin@toxingwang.com 4 # } 5 # notification_email_from master@toxingwang.com 6 # smtp_server smtp.exmail.qq.com 7 # smtp_connect_timeout 30 8 router_id LVS_DEVEL 9 } 10 vrrp_instance VI_1 { 11 state MASTER 12 interface eth0 13 virtual_router_id 51 14 priority 100 15 advert_int 1 16 authentication { 17 auth_type PASS 18 auth_pass 1111 19 } 20 virtual_ipaddress { #配置VIP 21 192.168.200.201 22 } 23 } 24 virtual_server 10.106.1.250 80 { #真实服务器 25 delay_loop 6 26 lb_algo wrr 27 lb_kind DR 28 nat_mask 255.255.255.0 29 persistence_timeout 0 30 protocol TCP 31 real_server 10.106.0.203 80 { 32 weight 3 33 TCP_CHECK { 34 connect_timeout 10 35 nb_get_retry 3 36 delay_before_retry 3 37 connect_port 80 38 } 39 } 40 real_server 10.106.0.204 80 { 41 weight 3 42 TCP_CHECK { 43 connect_timeout 10 44 nb_get_retry 3 45 delay_before_retry 3 46 connect_port 80 47 } 48 } 49 }
最后,即可启动keepalived服务:service keepalived start,并可通过浏览器测试(在浏览器输入VIP进行测试),环境搭建完成。最终确定keepalived服务是否真正启动,使用命令:vim /var/log/messages查看确认!
浙公网安备 33010602011771号