2011-06-17 37 views
1

我最近決定在mod_proxy和mod_proxy_balancer上使用Apache HTTPD(在CentOS上 - RPM版本爲httpd-2.2.3-45.el5.centos)來創建一個軟件負載均衡器,它面向我的JBoss應用服務器。目前的設置(見下面的配置)似乎工作正常,並且兩臺服務器都在積極處理入站請求。Apache HTTPD mod_proxy_balancer主動/被動設置

但是,我想設置一個主動 - 被動羣集,其中一個服務器主動處理請求,一旦發生故障,它將故障轉移到被動節點,使其處於活動狀態。 mod_proxy_balancer有可能嗎?

我當前的httpd.conf段與此有關如下。

<Proxy balancer://mycluster> 
     Order deny,allow 
     Allow from all 

     BalancerMember http://192.168.2.1:8080 route=node1 
     BalancerMember http://192.168.2.2:8080 route=node2 
</Proxy> 


ProxyPass/balancer://mycluster/ lbmethod=byrequests stickysession=JSESSIONID|jsessionid 

ProxyPreserveHost On 
ProxyPassReverse/http://192.168.2.1:8080/ 
ProxyPassReverse/http://192.168.2.2:8080/ 

在此先感謝。

回答

4

使用一個BalancerMember的熱備用

<Proxy balancer://mycluster> 
    BalancerMember http://192.168.2.1:8080 retry=30 
    # the hot standby 
    BalancerMember http://192.168.2.2:8080 status=+H retry=0 
</Proxy> 

現在節點1提供的所有要求和節點等待直到node1上出現故障,並接管。一旦node1啓動,所有請求將再次由node1提供服務。如果node1已啓動或仍然關閉,並且切換回node1,則Apache每30秒檢查一次(retry = 30)。

+0

非常感謝Praveen。這就是我一直在尋找的東西 – 2012-06-24 08:03:53

1

我最好設置被動節點與相同的配置,可能使用rsync在啓動時或glusterfs等等等等同步...

有兩個相同的平衡器,兩種活性,我會設置一個共享的IP,在別名主節點。 因此,如果主節點發生故障,輔助節點立即啓動共享IP。

有益的項目做IP故障轉移是Linux-HA,起搏器