我想在tomcat 6.0中实现负载平衡,以便我们可以创build一个以上的tomcat实例,当任何实例closures时,其他实例将运行我们的应用程序。 所以即使有大量的并发请求时,我们的应用也永远不会停止。 但我不知道要实施它。 请给你宝贵的build议。
您可以使用mod_proxy或mod_jk来启用负载平衡。 看到这里的指示。
他们的网站上有一个howto – http://tomcat.apache.org/tomcat-6.0-doc/cluster-howto.html我希望有人会解释Tomcat的6configurationgrrrrrrrrrrrrr
我们使用食人鱼 (它更像是各种工具包)。 它配备了RedHat Linux,但我认为它也应该与CentOS和Fedora一起提供。 当然,你可以随时下载一个软件包。
它是一个与健康检查器相结合的负载均衡器,并具有GUIconfiguration界面。
不知道这是否可以使用,如果你的请求是有状态的。
这真的取决于。 如果你打算让一个Apache服务器根据负载发出请求,你会想使用mod_jk或者mod_proxy。
对于mod_jk,如果你想检查这个工作是否正常的话,这里是一个快速和肮脏的howto:
http://tomcat.apache.org/connectors-doc/generic_howto/quick.html
在您的$ apacheHome / workers.properties下,为每个tomcat服务器添加一个名为AJP端口的工作条目,在每个服务器的server.xml中描述为通常端口为8009的连接器。
确保你的apache目录下有mod_jk库,然后用链接中所需的信息修改你的httpd.conf文件,重新启动后你就可以进行负载均衡了。 首先启动哪个服务器并不重要。
也有mod_proxy,但我不熟悉它。 但它看起来是一个不错的select。
您可以在硬件(如Big F5)或软件负载平衡器(Apache mod_proxy或mod_jk)之间进行select。 无论哪种情况,您都需要select正确的性能configuration,最适合您的设置。
如果你使用任何会话,你需要记住要么
a)使用粘性负载平衡,以便给定用户的第一个服务器命中,他们将保持击中相同的服务器
b)启用会话复制,以便每个会话在所有服务器上。
A通常更容易做到,但是如果服务器崩溃,用户将被注销,并使其工作stream程中断。 B是一个更好的解决scheme,但不会扩展到尽可能多的服务器。