我正在寻找一个与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