歡迎您光臨本站 註冊首頁

apache自帶負載均衡的集群功能實戰錄

←手機掃碼閱讀     火星人 @ 2014-03-04 , reply:0

apache自帶負載均衡的集群功能實戰錄

  在網上看了搜了下,好像很少專門介紹mod_proxy模塊的功能的文章,所以今天我來現學現買也說點,先說下apache2.2之前的版本吧,相對網上相關資料也多點,下面簡單幾句想必我再多說都是廢話拉:)
 
 下面以在apachemod_proxy下做的反向代理負載均衡為配置實例:在站點www.test.com,我們按提供的內容進行分類,不同的伺服器用於提供不同的內容服務,將對http://www.test.com/news的訪問轉到IP地址為192.168.1.1的內部伺服器上處理,對http://www.test.com/it的訪問轉到伺服器192.168.1.2上,對http://www.test.com/life的訪問轉到伺服器192.168.1.3上,對http://www.test.com/love的訪問轉到合作站點http://www.love.com上,從而減輕本apache伺服器的負擔,達到負載均衡的目的。
   首先要確定域名www.test.com在DNS上的記錄對應apache伺服器介面上具有internet合法註冊的IP地址,這樣才能使internet上對www.test.com的所有連接請求發送給本台apache伺服器。
   在本台伺服器的apache配置文件httpd.conf中添加如下設置:
   proxypass     /news      http://192.168.1.1
   proxypass     /it      http://192.168.1.2
   proxypass     /life     http://192.168.1.3
   proxypass     /live     http://www.live.com
   注意,此項設置最好添加在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
 


     BalancerMember http://192.168.28.131  loadfactor=1
     BalancerMember http://192.168.28.130  loadfactor=1
 


 ProxyPass為代理轉發的Url,即將所有訪問/test的請求轉發到群集balancer://xuanfei
 loadfactor為各主機間的負載比例參數,可是設置不同指數
 BalancerMember為群集的成員,即群集伺服器A或B,負載均衡伺服器會根據均衡規則來將請求轉發給BalancerMember。
 
 
 配置好后,啟動Apahce服務


 SetHandler server-status
 Order Deny,Allow
 Deny from all
 Allow from all
 


 器,訪問xuanfei/test就會看到群集伺服器中應用返回的結果。恭喜你,負載均衡和群集已經配置成功了!
 
 而且還可以同樣在http.conf主配置文件主添如下元素:
 

  
 SetHandler balancer-manager
 Order Deny,Allow
 Deny from all
 Allow from all
 


  如果配置成功后你可以可以在地址欄輸入 xuanfei/balancer-manager,將可以清楚的看到各節點的工作運行狀態:)
 
 同樣還可以同樣在http.conf主配置文件主添如下元素:
 


 SetHandler server-status
 Order Deny,Allow
 Deny from all
 Allow from all
 


 便可以方便的觀測到主伺服器的當前運行狀態,只要在地址欄輸入 xuanfei/server-status
 
 用ab對apache負載均衡集群的性能測試對比報告
 
 小結:apache自帶mod_proxy功能模塊中目前可以實現兩種不同的負載均衡集群實現方式,第一種是分工合作的的形式,通過各台主機負責不同的任務而實現任務分工。第二種是不同的機器在擔任同樣的任務,某台機器出現故障主機可以自動檢測到將不會影響到客戶端,而第一種卻不能實現但第一種實現方式的優點在於他是主伺服器負擔相應沒第二種大因為台只是提供跳轉指路功能,形象的說他不給你帶路只是告訴你有條路可以到,但到了那是否可以看到你見的人他已經不會去管你了:)。相比之下第二種性能要比第一種會好很多;但他們都有個共同點都是一托N形式來完成任務的所以你的主機性能一定要好o :)
 
 如以上內容有誤或有不足之處,望朋友能給予意見或者建議!謝謝:)
 參考資料:wwww
          http://httpd.apache.org/docs/2.2/mod/mod_proxy.html#proxy



[火星人 ] apache自帶負載均衡的集群功能實戰錄已經有215次圍觀

http://coctec.com/docs/service/show-post-26938.html