簡單測試Apache是如何完成負(fù)載均衡策略配置
2024-08-27 18:27:50
供稿:網(wǎng)友
隨著訪問量的不斷提升,以及對響應(yīng)速度要求的苛刻,進(jìn)行負(fù)載均衡設(shè)置就顯得尤為重要了。公司的系統(tǒng)在最初設(shè)計的時候就已經(jīng)考慮到了負(fù)載均衡的規(guī)劃,www靜態(tài)服務(wù)器配置了兩臺,由于初期項目時間緊,并且訪問量并不高,所以當(dāng)時只用了一臺,另一臺在內(nèi)網(wǎng)中,只是進(jìn)行了同步,并為發(fā)揮出效用來。此次就是對負(fù)載均衡的一個簡單測試。
先介紹一下apache mod_proxy_balancer的幾個配置規(guī)則:
將Apache作為LoadBalance前置機(jī)分別有三種不同的部署方式,分別是:
1 )輪詢均衡策略的配置
進(jìn)入Apache的conf目錄,打開httpd.conf文件,在文件的末尾加入:
ProxyPass / balancer://proxy/ #注意這里以”/”結(jié)尾
代碼如下:
<Proxy balancer://proxy>
BalancerMember http://192.168.6.37:6888/
BalancerMember http://192.168.6.38:6888/
</Proxy>
我們來觀察上述的參數(shù)“ProxyPass / balancer://proxy/”,其中,“ProxyPass”是配置虛擬服務(wù)器的命令,“/”代表發(fā)送Web請求的URL前綴,如:http://myserver/或者h(yuǎn)ttp://myserver/aaa,這些URL都將符合上述過濾條件;“balancer://proxy/”表示要配置負(fù)載均衡,proxy代表負(fù)載均衡名;BalancerMember 及其后面的URL表示要配置的后臺服務(wù)器,其中URL為后臺服務(wù)器請求時的URL。以上面的配置為例,實現(xiàn)負(fù)載均衡的原理如下:
假設(shè)Apache接收到http://localhost/aaa請求,由于該請求滿足ProxyPass條件(其URL前綴為“/”),該請求會被分發(fā)到后臺某一個BalancerMember,譬如,該請求可能會轉(zhuǎn)發(fā)到 http://192.168.6.37:6888/aaa進(jìn)行處理。當(dāng)?shù)诙€滿足條件的URL請求過來時,該請求可能會被分發(fā)到另外一臺BalancerMember,譬如,可能會轉(zhuǎn)發(fā)到http://192.168.6.38:6888/。如此循環(huán)反復(fù),便實現(xiàn)了負(fù)載均衡的機(jī)制。
2) 按權(quán)重分配均衡策略的配置
ProxyPass / balancer://proxy/ #注意這里以”/”結(jié)尾
代碼如下:
<Proxy balancer://proxy>
BalancerMember http://192.168.6.37:6888/ loadfactor=3
BalancerMember http://192.168.6.38:6888/ loadfactor=1
</Proxy>
參數(shù)”loadfactor”表示后臺服務(wù)器負(fù)載到由Apache發(fā)送請求的權(quán)值,該值默認(rèn)為1,可以將該值設(shè)置為1到100之間的任何值。以上面的配置 為例,介紹如何實現(xiàn)按權(quán)重分配的負(fù)載均衡,現(xiàn)假設(shè)Apache收到http://myserver/aaa 4次這樣的請求,該請求分別被負(fù)載到后臺服務(wù)器,則有3次連續(xù)的這樣請求被負(fù)載到BalancerMember為http://192.168.6.37:6888的服務(wù)器,有1次這樣的請求被負(fù)載BalancerMember為http://192.168.6.38:6888后臺服務(wù)器。實現(xiàn)了按照權(quán)重連續(xù)分配的均衡策略。
3) 權(quán)重請求響應(yīng)負(fù)載均衡策略的配置
ProxyPass / balancer://proxy/ lbmethod=bytraffic #注意這里以”/”結(jié)尾
代碼如下:
<Proxy balancer://proxy>