我正在尋找一個與Tomcat一起使用的良好負載平衡器。我們的應用程序不會在會話上下文中存儲任何內容,因此爲同一用戶重定向到同一臺服務器並不重要。我只是喜歡一些可以將請求循環方式或基於每個服務器的單個負載排隊的東西。我還希望能夠將應用程序服務器添加到可用於處理請求的應用程序服務器,而無需重新啓動負載平衡器。如果有問題,我們正在linux上運行應用程序。Tomcat負載平衡器解決方案
8
A
回答
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:
- 禁用http連接器。
- 啓用AJP/1.3連接器並設置您在此節點的workers.properties中定義的端口。
用正確的節點名稱添加的jvmRoute的 「引擎」 元素:
<Engine jvmRoute="node1" ...
添加一個 「集羣」 元素的簡單配置
<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
相關問題
- 1. Tomcat負載平衡
- 2. Kubernete:請問一個L4負載平衡解決方案的非雲集羣
- 3. Tomcat集羣和負載平衡?
- 4. Apache Tomcat負載平衡文件副本
- 5. 負載平衡
- 6. 負載平衡
- 7. Netty負載平衡器
- 8. 負載平衡器IP
- 9. AWS負載平衡器
- 10. solrcloud的負載平衡器
- 11. 負載均衡服務器的文件上傳最佳解決方案
- 12. ASP.Net負載平衡
- 13. PgPool2負載平衡
- 14. Drupal負載平衡
- 15. 流負載平衡
- 16. WebLogic負載平衡
- 17. 使用軟件負載平衡與硬件負載平衡器的經驗?
- 18. 如何解決集羣或負載平衡導致的問題?
- 19. 緩存和負載平衡方法
- 20. 負載均衡批量作業的快速且骯髒的解決方案
- 21. AWS負載平衡器不能確保
- 22. Http綁定負載平衡器
- 23. 創建內部負載平衡器
- 24. Rails,回形針和負載平衡器
- 25. F5負載平衡器 - ASPXAuth Cookie
- 26. 負載平衡器問題c#asp.net
- 27. 如何使用GCE負載平衡器
- 28. 負載平衡器的枯竭
- 29. Weblogic與Apache負載平衡器
- 30. Quartz.net負載平衡器上的作業
多大的應用程序,你說這裏?如果它只是兩臺服務器來處理負載,則可以在Web服務器級別執行此操作。如果您正在查看5臺以上的服務器,則可能需要查看商業解決方案。 – Sean 2012-03-10 20:50:12
可能有5個以上的服務器。 – 2012-03-11 00:19:17