前言:lvs和haproxy的区别
lvs:
1、抗负载能力强、是工作在网络4层之上仅作分发之用,没有流量的产生;
2、无流量,保证了均衡器IO的性能不会收到大流量的影响;
3、应用范围比较广,因为LVS工作在4层,所以它几乎可以对所有应用做负载均衡
4、工作稳定,因为其本身抗负载能力很强,自身有完整的双机热备方案,
如LVS+Keepalived,不过我们在项目实施中用得最多的还是LVS/DR+Keepalived。
Haproxy:
1、HAProxy也是支持虚拟主机的
HAProxy跟LVS类似,本身就只是一款负载均衡软件,基于七层;
2、单纯从效率上来讲HAProxy会比Nginx有更出色的负载均衡速度,
在并发处理上也是优于Nginx的;
3、HAProxy支持TCP协议的负载均衡转发,
可以对MySQL读进行负载均衡,对后端的MySQL节点进行检测和负载均衡
准备工作:
1、准备四台主机:IP地址规划是
4.49,4.50(haproxy),4.51(web),4.52(web)
2、在4.50 上安装haproxy软件,在4.51和4.52上
安装httpd软件
一、普通LB集群
1、修改配置文件:vim /etc/haproxy/haproxy.cfg
把60行以下的内容全部删除,增加下面的内容
stats uri /admin
60 listen lbweb 0.0.0.0:80
61 cookie SERVERID rewrite
62 balance roundrobin
63 server web51 192.168.4.51:80 cookie app51 check inter 2000 rise 2 fall 5
64 server web52 192.168.4.52:80 cookie app52 check inter 2000 rise 2 fall 5
2、可以去页面查看健康性:http://192.168.4.50/admin
3、测试:停掉其中一台web服务器,去后台查看后台的session会话的次数
二、区分业务的LB集群
1、用四台服务器测试
4.51和4.52做html负载,4.53和4.54做php的负载
2、上面4.51和4.52已经做好了,现在把4.53和4.54做好php的网站
3、修改配置文件:vim /etc/haproxy/haproxy.cfg
59 stats uri /admin
60 #---------------------------------------------------------------------
61 # main frontend which proxys to the backends
62 #---------------------------------------------------------------------
63 frontend weblb 192.168.4.100:80
64 # acl url_static path_beg -i /static /images /javascript /stylesheets
65 acl path_html path_end -i .html
66 acl path_php path_end -i .php
67
68 use_backend htmlg if path_html
69 use_backend phpg if path_php
70 default_backend htmlg
71
72 #---------------------------------------------------------------------
73 # static backend for serving up images, stylesheets and such
74 #---------------------------------------------------------------------
75 #backend static
76 # balance roundrobin
77 # server static 127.0.0.1:4331 check
78
79 #---------------------------------------------------------------------
80 # round robin balancing between the various backends
81 #---------------------------------------------------------------------
82 backend htmlg
83 balance roundrobin
84 server app101 192.168.4.101:80 check
85 server app102 192.168.4.102:80 check
86
87 backend phpg
88 balance roundrobin
89 server app103 192.168.4.103:80 check
90 server app104 192.168.4.104:80 check
4、保存配置,重启服务,测试:
在四台服务器上分别放上test.html和test.php网页文件
在客户端分别测试,可以得出预期的结果
原文地址:http://blog.51cto.com/453412/2087017