Java Tomcat负载平衡器解决方案
我正在寻找一个好的负载平衡器与Tomcat一起使用。我们的应用程序在会话上下文中不存储任何内容,因此为同一用户重定向到同一服务器并不重要。我只是希望能够以循环方式或基于每个服务器的独立负载对请求进行排队。我还希望能够将应用程序服务器添加到那些可用于处理请求的服务器中,而无需重新启动负载平衡器。如果有必要的话,我们正在linux上运行应用程序 如果您只需要linux上的软件负载平衡器,请使用Apache Webserver2、Mod Jk和Tomcat群集: 在您的Web服务器上:Java Tomcat负载平衡器解决方案,java,tomcat,load-balancing,Java,Tomcat,Load Balancing,我正在寻找一个好的负载平衡器与Tomcat一起使用。我们的应用程序在会话上下文中不存储任何内容,因此为同一用户重定向到同一服务器并不重要。我只是希望能够以循环方式或基于每个服务器的独立负载对请求进行排队。我还希望能够将应用程序服务器添加到那些可用于处理请求的服务器中,而无需重新启动负载平衡器。如果有必要的话,我们正在linux上运行应用程序 如果您只需要linux上的软件负载平衡器,请使用Apache Webserver2、Mod Jk和Tomcat群集: 在您的Web服务器上: 安装apach
sudo apt-get install apache2 libapache2-mod-jk
sudo a2enmod jk
workers.properties
文件。在某些情况下,它会自动创建在/etc/apache2目录中。此文件包含Tomcat服务器的lb配置、节点名称、IP和端口,即:
worker.list=balancer,lbstats
#node1
worker.node1.type=ajp13
worker.node1.host=YOUR_TOMCAT-NODE-IP
worker.node1.port=YOUR_TOMCAT-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 (node1, node2, ...):
worker.balancer.balance_workers=node1
#lb status information (optional)
worker.lbstats.type=status
JkWorkersFile /etc/apache2/workers.properties
JkLogFile /var/log/apache2/mod_jk.log
JkShmFile /tmp/jk-runtime-status
JkLogLevel info
server.xml
中的http连接器(通过注释将其删除)
你在这里谈论的应用程序有多大?如果只需要两台服务器来处理负载,那么您可以在web服务器级别进行处理。如果你在看5台以上的服务器,你可能想看看商业解决方案。modjk和modcluster之间的区别是什么?mod_cluster是不同的
JkMount /My-Java-App-Name balancer
JkMount /My-Java-App-Name/* balancer
JkMount /modjkstatus lbstats
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" />
<distributable/>