將Apache作為L(zhǎng)oadBalance前置機(jī)分別有三種不同的部署方式,分別是:
1
)輪詢均衡策略的配置
進(jìn)入Apache的conf目錄,打開httpd.conf文件,在文件的末尾加入:
ProxyPass
/
balancer
://proxy
/ #注意這里以"/"結(jié)尾
<proxy class="hilite3">balancer</proxy>
://proxy>
Balancer
Member http://192.168.6.37:6888/
Balancer
Member http://192.168.6.38:6888/
我們來(lái)觀察上述的參數(shù)“
ProxyPass
/
balancer
://proxy/”,其中,“
ProxyPass
”是配置虛擬服務(wù)器的命令,“/”代表發(fā)送Web請(qǐng)求的URL前綴,如:http://myserver/或者h(yuǎn)ttp://myserver/aaa,這些URL都將符合上述過(guò)濾條件;“
balancer
://proxy/”表示要配置負(fù)載均衡,proxy代表負(fù)載均衡名;
Balancer
Member 及其后面的URL表示要配置的后臺(tái)服務(wù)器,其中URL為后臺(tái)服務(wù)器請(qǐng)求時(shí)的URL。以上面的配置為例,實(shí)現(xiàn)負(fù)載均衡的原理如下:
假設(shè)Apache接收到http://localhost/aaa請(qǐng)求,由于該請(qǐng)求滿足
ProxyPass
條件(其URL前綴為“/”),該請(qǐng)求會(huì)被分發(fā)到后臺(tái)某一個(gè)
Balancer
Member,譬如,該請(qǐng)求可能會(huì)轉(zhuǎn)發(fā)到 http://192.168.6.37:6888/aaa進(jìn)行處理。當(dāng)?shù)诙€(gè)滿足條件的URL請(qǐng)求過(guò)來(lái)時(shí),該請(qǐng)求可能會(huì)被分發(fā)到另外一臺(tái)
Balancer
Member,譬如,可能會(huì)轉(zhuǎn)發(fā)到http://192.168.6.38:6888/。如此循環(huán)反復(fù),便實(shí)現(xiàn)了負(fù)載均衡的機(jī)制。
2)
按權(quán)重分配均衡策略的配置
ProxyPass
/
balancer
://proxy
/ #注意這里以"/"結(jié)尾
<proxy class="hilite3">balancer</proxy>
://proxy>
Balancer
Member http://192.168.6.37:6888/ loadfactor=3
Balancer
Member http://192.168.6.38:6888/ loadfactor=1
參數(shù)”loadfactor”表示后臺(tái)服務(wù)器負(fù)載到由Apache發(fā)送請(qǐng)求的權(quán)值,該值默認(rèn)為1,可以將該值設(shè)置為1到100之間的任何值。以上面的配置 為例,介紹如何實(shí)現(xiàn)按權(quán)重分配的負(fù)載均衡,現(xiàn)假設(shè)Apache收到http://myserver/aaa 4次這樣的請(qǐng)求,該請(qǐng)求分別被負(fù)載到后臺(tái)服務(wù)器,則有3次連續(xù)的這樣請(qǐng)求被負(fù)載到
Balancer
Member為http://192.168.6.37:6888的服務(wù)器,有1次這樣的請(qǐng)求被負(fù)載
Balancer
Member為http://192.168.6.38:6888后臺(tái)服務(wù)器。實(shí)現(xiàn)了按照權(quán)重連續(xù)分配的均衡策略。
3)
權(quán)重請(qǐng)求響應(yīng)負(fù)載均衡策略的配置
ProxyPass
/
balancer
://proxy/ lbmethod=bytraffic
#注意這里以"/"結(jié)尾
<proxy class="hilite3">balancer</proxy>
://proxy>
Balancer
Member http://192.168.6.37:6888/ loadfactor=3
Balancer
Member http://192.168.6.38:6888/ loadfactor=1
參數(shù)“l(fā)bmethod=bytraffic”表示后臺(tái)服務(wù)器負(fù)載請(qǐng)求和響應(yīng)的字節(jié)數(shù),處理字節(jié)數(shù)的多少是以權(quán)值的方式來(lái)表示的。 “l(fā)oadfactor”表示后臺(tái)服務(wù)器處理負(fù)載請(qǐng)求和響應(yīng)字節(jié)數(shù)的權(quán)值,該值默認(rèn)為1,可以將該值設(shè)置在1到100的任何值。根據(jù)以上配置是這么進(jìn)行均 衡負(fù)載的,假設(shè)Apache接收到http://myserver/aaa請(qǐng)求,將請(qǐng)求轉(zhuǎn)發(fā)給后臺(tái)服務(wù)器,如果
Balancer
Member為http://192.168.6.37:6888后臺(tái)服務(wù)器負(fù)載到這個(gè)請(qǐng)求,那么它處理請(qǐng)求和響應(yīng)的字節(jié)數(shù)是
Balancer
Member為http://192.168.6.38:6888 服務(wù)器的3倍(回想(2)均衡配置,(2)是以請(qǐng)求數(shù)作為權(quán)重負(fù)載均衡的,(3)是以流量為權(quán)重負(fù)載均衡的,這是最大的區(qū)別)。
看明白了沒有,根據(jù)不同的需要,可以按這三種方式進(jìn)行配置。我按照第三種配置的,感覺上這種對(duì)于負(fù)載的均衡更全面合理。我的配置很簡(jiǎn)單,如下:
先配置均衡器:
<proxy balancer:><br>BalancerMember ajp://127.0.0.1:8009/ loadfactor=1<br>BalancerMember http://192.168.10.6:8083/ loadfactor=1<br></proxy>
其中http://192.168.10.6:8083實(shí)際上是另外一個(gè)端口啟動(dòng)的apache,為了測(cè)試,它就簡(jiǎn)單的直接轉(zhuǎn)發(fā)所有請(qǐng)求到tomcat。
對(duì)于上次的VirtualHost進(jìn)行以下的修改即可:
<virtualhost><br>ServerName www.test.com<br>DocumentRoot /www<br>DirectoryIndex index.html index.jsp<br><directory><br>Options Indexes FollowSymLinks<br>AllowOverride None<br>Order allow,deny<br>Allow from all<br></directory><br><directory><br>Options Indexes FollowSymLinks<br>AllowOverride None<br>Order allow,deny<br>Allow from all<br></directory><br>ProxyPass /nxt/images/ !<br>ProxyPass /nxt/js/ !<br>ProxyPass /nxt/css/ !<br>#ProxyPass / ajp://127.0.0.1:8009/<br>#ProxyPassReverse / ajp://127.0.0.1:8009/<br>ProxyPass / balancer://proxy/<br>ProxyPassReverse / balancer://proxy/<br></virtualhost>
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
