Haproxy部署網站LB集羣

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

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

























發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章