我设置了几个Tomcat服务器,分布在几个服务器之间,所有服务器都运行着相同的东西。Apache在Apache之上,在Apache服务器前面有一个负载平衡器。在部署应用程序时,我希望使用共享会话将Tomcat集群,以尽量减少停机时间和用户中断。
我知道集群可以在同一台服务器内工作,但是否有可能以一种在不同机器上的服务器之间共享会话的方式来设置Tomcat?
=> Server 1
==> Apache 1
===> Tomcat 1
=> Server 2
==> Apache 2
===> Tomcat 2当Server/Tomcat 1被删除时,用户及其会话将转移到Server/Tomcat 2,反之亦然。
发布于 2010-04-09 06:25:59
看看网上会议用兵马俑。
使用Terracotta的快速、可靠的web会话插件可以获得无状态web体系结构的可伸缩性好处,而无需重载数据库或重写应用程序。与您最喜欢的web框架和您自己的自定义会话对象一起工作。
网络会话教程列出了用于评估产品( FOSS )的五个简单步骤。
发布于 2016-10-07 15:02:51
我正致力于设置相同的东西,Apache提供的下面的链接概述了如何实现这一点:
http://tomcat.apache.org/tomcat-7.0-doc/cluster-howto.html
这主要有两部分:
1)使会话对象可序列化
2)在tomcat (server.xml)中建立集群配置。
根据您使用的tomcat管理器,您可能必须启用节点上的多播,以启用节点之间的通信。会话复制是由tomcat通过这些多播操作处理的,我见过许多人使用这种方法,而且它对他们是有效的(这似乎是一种标准/简单的方法)。
这里还有一篇关于同样内容的详细博客文章--有5个部分,还有一些视频。
http://www.ramkitech.com/2012/10/tomcat-clustering-series-simple-load.html
P.S:
对于两个tomcat节点的相同问题,我使用了相同的方法。我面临的是一个小问题,如下所述,如果你遇到类似的问题,请看这个。
发布于 2010-04-07 16:52:06
您可以将会话保存在数据库中,因此它们可以从两个tomcats访问。或者将它们存储在tomcats之间的共享目录上。
https://serverfault.com/questions/130127
复制相似问题