Haproxy部署網站LB集羣

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

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

相關文章
相關標籤/搜索