本文是关于如何分享Tomcat的官方集群配置说明。边肖觉得很实用,所以分享给大家学习。希望你看完这篇文章能有所收获。我们就不多说了。让我们和边肖一起看看。
众所周知,为了应对大量的请求,当单个Tomcat不能满足要求时,需要采取分流、集群等一系列措施。
在Tomcat集群中,最需要关注和实现的是多个Tomcat实例,之间的Session数据共享,这样当节点崩溃时,其他节点也可以响应。
在集群上,Tomcat的承诺者和主要维护者Mark Thmoas在ApacheCon上做到了这一点。
共享集群时,请这样描述:
什么时候需要使用Cluster呢?
理论上,永远不会。
为什么,这是托马斯说的
增加了配置的复杂性
需要额外的处理
调试要困难得多
而你可能真正需要的是
负载平衡加上粘性会话
如果节点出现故障,会话将会丢失
集群应该是最后一个选择。
我们之前的文章已经写了通过Redis/Memcached存储Session在多个实例之间共享Session数据的原则和步骤。(详细说明集群中Session高可用性的实现原理)
事实上,Tomcat正式提供了内置的Cluster功能,没有第三方插件的支持。
00-1010整个集群的配置可以分为以下步骤:
配置每个Tomcat实例的Engine并增加jvmRoute值。
配置部署在集群中的应用程序,修改其web.xml并添加distributable/配置。
使用Apache进行负载平衡,同时配置接受请求转发的Session sticky和Map path。关于Apache的配置,请参考上一篇文章。
看看二手贩子阿帕奇(1)
看看二手贩子阿帕奇(2)
修改每个Tomcat实例的集群配置。最简单的配置是打开默认注释的内容:
class name=' org . Apache . catalina . ha . TCP . simpletcpccluster '/这个最简单的simplecpcluster将使用内存来存储Session数据,集群之间的Tomcat实例将相互备份数据。心跳检测将通过多播在实例之间执行。
会话数据通过Tcp连接传输。
下图显示了当一个实例断开连接时,其他实例接收到的检查信息。
当然,我们也可以定义集群的各种属性,比如会话管理器、组播和数据传输的实现等。如果我们担心会话会存储在内存中,我们可以使用其他管理器来实现它。
Tomcat通过三种方式提供会话共享策略:
Session数据持久性,将数据保存到共享文件系统。
Sesion持久性,数据存储在共享数据库中,数据通过JDBCStore存储。
使用内存进行共享,使用部落进行共享。
5.继续使用examples中的session进行功能检查,这个时候,你会发现多个实例之间的数据可以正常共享,没有其他第三方插件的支持绝对是官方的。
以上就是如何解释Tomcat的官方集群配置。边肖认为,一些知识点可能会在我们的日常工作中看到或使用。我希望你能通过这篇文章学到更多的知识。更多详情请关注行业信息渠道。
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/138396.html