前言:lvs和haproxy的區別
javascript
lvs:php
一、抗負載能力強、是工做在網絡4層之上僅做分發之用,沒有流量的產生;html
二、無流量,保證了均衡器IO的性能不會收到大流量的影響;java
三、應用範圍比較廣,由於LVS工做在4層,因此它幾乎能夠對全部應用作負載均衡web
四、工做穩定,由於其自己抗負載能力很強,自身有完整的雙機熱備方案,vim
如LVS+Keepalived,不過咱們在項目實施中用得最多的仍是LVS/DR+Keepalived。後端
Haproxy:服務器
一、HAProxy也是支持虛擬主機的cookie
HAProxy跟LVS相似,自己就只是一款負載均衡軟件,基於七層;網絡
二、單純從效率上來說HAProxy會比Nginx有更出色的負載均衡速度,
在併發處理上也是優於Nginx的;
三、HAProxy支持TCP協議的負載均衡轉發,
能夠對MySQL讀進行負載均衡,對後端的MySQL節點進行檢測和負載均衡
準備工做:
一、準備四臺主機:IP地址規劃是
4.49,4.50(haproxy),4.51(web),4.52(web)
二、在4.50 上安裝haproxy軟件,在4.51和4.52上
安裝httpd軟件
1、普通LB集羣
一、修改配置文件: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
二、能夠去頁面查看健康性:http://192.168.4.50/admin
三、測試:停掉其中一臺web服務器,去後臺查看後臺的session會話的次數
2、區分業務的LB集羣
一、用四臺服務器測試
4.51和4.52作html負載,4.53和4.54作php的負載
二、上面4.51和4.52已經作好了,如今把4.53和4.54作好php的網站
三、修改配置文件: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
四、保存配置,重啓服務,測試:
在四臺服務器上分別放上test.html和test.php網頁文件
在客戶端分別測試,能夠得出預期的結果