apache自帶負載均衡的集羣功能

apache自帶負載均衡的集羣功能實戰
下面以在apachemod_proxy下作的反向代理負載均衡爲配置實例:在站點[url]www.test.com[/url],咱們按提供的內容進行分類,不一樣的 服務器 用於提供不一樣的內容服務,將對[url]http://www.test.com/news[/url]的訪問轉到IP地址爲192.168.1.1的內部服務器上處理,對[url]http://www.test.com/it[/url]的訪問轉到服務器192.168.1.2上,對[url]http://www.test.com/life[/url]的訪問轉到服務器192.168.1.3上,對[url]http://www.test.com/csai[/url]的訪問轉到合做站點[url]http://www.csai.cn[/url]上,從而減輕本apache服務器的負擔,達到負載均衡的目的。    首先要肯定域名[url]www.test.com[/url]在DNS上的記錄對應apache服務器接口上具備internet合法註冊的IP地址,這樣才能使internet上對[url]www.test.com[/url]的全部鏈接請求發送給本臺apache服務器。    在本臺服務器的apache配置文件httpd.conf中添加以下設置:    proxypass     /news      [url]http://192.168.1.1[/url]    proxypass     /it      [url]http://192.168.1.2[/url]    proxypass     /life     [url]http://192.168.1.3[/url]    proxypass     /csai     [url]http://www.csai.cn[/url]    注意,此項設置最好添加在httpd.conf文件「Section 2」之後的位置,服務器192.168.1.1-3也應是具備相應功能的www服務器,在重啓服務時,最好用apachectl configtest命令檢查一下配置是否有誤。    接下來也是我真正想要介紹的2.2版本後在mod_proxy中新添加的mod_proxy_balancer模塊給咱們帶來的新功能。    首先將在主配置文件http.conf如下Module的註釋去掉    LoadModule proxy_module modules/mod_proxy.so    LoadModule proxy_balancer_module modules/mod_proxy_balancer.so    LoadModule proxy_http_module modules/mod_proxy_http.so    再並增長如下元素    ProxyRequests Off    ProxyPass /test  balancer://xuanfei stickysession=jsessionid nofailover=On    <proxy balancer://xuanfei/>       BalancerMember [url]http://192.168.28.131 [/url] loadfactor=1       BalancerMember [url]http://192.168.28.130 [/url] loadfactor=1    </proxy>    ProxyPass爲代理轉發的Url,即將全部訪問/test的請求轉發到羣集balancer://xuanfei    loadfactor爲各主機間的負載比例參數,但是設置不一樣指數    BalancerMember爲羣集的成員,即羣集服務器A或B,負載均衡服務器會根據均衡規則來將請求轉發給BalancerMember。    配置好後,啓動Apahce服務    <Location /server-status>       SetHandler server-status       Order Deny,Allow       Deny from all       Allow from all    </Location>    訪問xuanfei/test就會看到羣集服務器中應用返回的結果。恭喜你,負載均衡和羣集已經配置成功了!    並且還能夠一樣在http.conf主配置文件主添以下元素:    <Location /balancer-manager>       SetHandler balancer-manager       Order Deny,Allow       Deny from all       Allow from all    </Location>    若是配置成功後你能夠能夠在地址欄輸入 xuanfei/balancer-manager,將能夠清楚的看到各節點的工做運行狀態:)    一樣還能夠一樣在http.conf主配置文件主添以下元素:    <Location /server-status>       SetHandler server-status       Order Deny,Allow       Deny from all       Allow from all    </Location>    即可以方便的觀測到主服務器的當前運行狀態,只要在地址欄輸入 xuanfei/server-status 就能夠看到對apache負載均衡集羣的性能測試對比報告。    小結:apache自帶mod_proxy功能模塊中目前能夠實現兩種不一樣的負載均衡集羣實現方式,第一種是分工合做的的形式,經過各臺主機負責不一樣的任務而實現任務分工。第二種是不一樣的機器在擔任一樣的任務,某臺機器出現故障主機能夠自動檢測到將不會影響到客戶端,而第一種卻不能實現但第一種實現方式的優勢在於他是主服務器負擔相應沒第二種大由於臺只是提供跳轉指路功能,形象的說他不給你帶路只是告訴你有條路能夠到,但到了那是否能夠看到你見的人他已經不會去管你了:)。相比之下第二種性能要比第一種會好不少;但他們都有個共同點都是一託N形式來完成任務的因此你的主機性能必定要好。
相關文章
相關標籤/搜索