Haproxy部署網站LB集群
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網頁文件
在客戶端分別測試,可以得出預期的結果
Haproxy部署網站LB集群