1. 程式人生 > >Haproxy部署網站LB集群

Haproxy部署網站LB集群

負載均衡 haproxy

前言: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網頁文件

在客戶端分別測試,可以得出預期的結果

























Haproxy部署網站LB集群