2012-03-10 92 views
8

我正在尋找一個與Tomcat一起使用的良好負載平衡器。我們的應用程序不會在會話上下文中存儲任何內容,因此爲同一用戶重定向到同一臺服務器並不重要。我只是喜歡一些可以將請求循環方式或基於每個服務器的單個負載排隊的東西。我還希望能夠將應用程序服務器添加到可用於處理請求的應用程序服務器,而無需重新啓動負載平衡器。如果有問題,我們正在linux上運行應用程序。Tomcat負載平衡器解決方案

+0

多大的應用程序,你說這裏?如果它只是兩臺服務器來處理負載,則可以在Web服務器級別執行此操作。如果您正在查看5臺以上的服務器,則可能需要查看商業解決方案。 – Sean 2012-03-10 20:50:12

+0

可能有5個以上的服務器。 – 2012-03-11 00:19:17

回答

6

如果你需要的是在Linux上使用Apache Webserver2,MOD-JK和Tomcat集羣軟件負載平衡器:

在你的web服務器:

1)安裝的Apache2和modjk:

sudo apt-get install apache2 libapache2-mod-jk 
sudo a2enmod jk 

2)爲你的apache2創建一個「workers.properties」文件。在某些情況下,ist會自動在/ etc/apache2目錄中創建。此文件是抱着你的Tomcat服務器的LB配置,節點名稱,IPS和端口,即:

worker.list=balancer,lbstats 

#node1 
worker.node1.type=ajp13 
worker.node1.host=NODE-IP 
worker.node1.port=NODE-AJP-PORT 
worker.node1.lbfactor=10 

#more nodes here ... (change name in between) 

#lb config 
worker.balancer.type=lb 
#turn off sticky session 
worker.balancer.sticky_session=0 

#add all defined node names to this list: 
worker.balancer.balance_workers=node1 

#lb status information (optional) 
worker.lbstats.type=status 

3)在你的Apache2配置文件創建一個MOD-JK部分,如果沒有自動創建它。

JkWorkersFile /etc/apache2/workers.properties 
JkLogFile  /var/log/apache2/mod_jk.log 
JkShmFile  /tmp/jk-runtime-status 
JkLogLevel  info 

4)安裝應用程序的負載均衡器(Apache2的配置文件):

JkMount /MyApp  balancer 
JkMount /MyApp/*  balancer 

JkMount /modjkstatus lbstats 

在你的Tomcat服務器:

5)使用壓縮包包安裝Tomcat(更好的方式則適當的版本)。更改server.xml:

  1. 禁用http連接器。
  2. 啓用AJP/1.3連接器並設置您在此節點的workers.properties中定義的端口。
  3. 用正確的節點名稱添加的jvmRoute的 「引擎」 元素:

    <Engine jvmRoute="node1" ... 
    
  4. 添加一個 「集羣」 元素的簡單配置

    <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" /> 
    

6)將應用程序部署到所有的tomcat,並在web.xml中添加可分發的元素。

<distributable/> 

7)確保web服務器可以訪問tomcat服務器上的ajp端口,而其他人不能。

8)一個接一個地啓動web服務器和tomcats並檢查日誌(也是/var/log/apache2/mod_jk.log)。

9)訪問你的應用程序:http://mywebserver.com/MyApp

10)檢查(和拒絕訪問)的LB狀態頁http://mywebserver.com/modjkstatus

+0

modjk和modcluster有什麼不同? – user12458 2014-12-09 10:34:10

+0

mod_cluster是一個不同的[來自JBoss的負載平衡解決方案](http://mod-cluster.jboss.org/) – Stefan 2014-12-09 10:42:16