使用mod_proxy_balancer實現負載平衡

來源:互聯網
上載者:User
      負載平衡
   
       
由於目前現有網路的各個核心部分隨著業務量的提高,訪問量和資料流量的快速增長,其處理能力和計算強度也相應地增大,使得單一的伺服器裝置根本無法承擔。在此情況下,如果扔掉現有裝置去做大量的硬體升級,這樣將造成現有資源的浪費,而且如果再面臨下一次業務量的提升時,這又將導致再一次硬體升級的高額成本投入,甚至效能再卓越的裝置也不能滿足當前業務量增長的需求。
        針對此情況而衍生出來的一種廉價有效透明的方法以擴充現有網路裝置和伺服器的頻寬、增加輸送量、加強網路資料處理能力、提高網路的靈活性和可用性的技術就是負載平衡(Load Balance)。
 
       mod_proxy_balancer
    
  mod_proxy_balancer是Apache2.1版本及更進階版本才可以使用,在網上關於mod_proxy_balancer的介紹比較少,特別是中文版的。近日,由於項目的需要,需要用Apache做一個負載平衡。剛開始考慮使用的是使用mod_rewrite,由於mod_rewrite使用起來比較複雜,所以就放棄啦。

      廢話少說,下面介紹mod_proxy_balancer的一個簡單的例子。

      首先,在主設定檔httpd.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
     <proxy balancer://test>
         BalancerMember http://192.168.0.150:8001 loadfactor=1 
         BalancerMember http://192.168.0.150:8002  loadfactor=1
         BalancerMember http://192.168.0.150:8003  loadfactor=1 
         BalancerMember http://192.168.0.150:8004  loadfactor=1
     </proxy> 

     設定虛擬機器主機:
     <VirtualHost *:80>
         ServerAdmin chenzhaozhan@hotmail.com
         ServerName www.example.com
         ServerAlias example.com
         ProxyPass / balancer://test/
         ProxyPassReverse / balancer://test/
     </VirtualHost>
        這裡需要多廢話幾句,剛開始我沒有用虛擬機器主機,只是添加ProxyPass /test  balancer://test,測試的時候沒有什麼問題,因為每個網站只有一個網站,訪問的時候沒有問題。後來用http://localhost/a.htm訪問就崩潰啦,沒有許可權訪問該頁面,返回http 403的錯誤。最後改用以上的方式解決問題。
      
        而且還可以同樣在http.conf主設定檔主添如下元素:
           <Location /balancer-manager>  
                     SetHandler balancer-manager 
                     Order Allow,Deny
                     Allow from all
           </Location>
       如果配置成功後你可以可以在地址欄輸入 localhost/balancer-manager,將可以清楚的看到各節點的工作運行狀態:) 
       可以看到以下的結果:
  
        同樣,可以配置server-status查看資訊:
         <Location /server-status>  
                     SetHandler server-status
                     Order Allow,Deny
                     Allow from all
           </Location> 

  

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.