如何进行Tomcat官方的集群配置说明

本篇文章给大家分享的是有关如何进行Tomcat官方的集群配置说明,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

成都创新互联公司是一家专业提供壶关企业网站建设,专注与网站制作、成都网站制作H5页面制作、小程序制作等业务。10年已为壶关众多企业、政府机构等服务。创新互联专业网站制作公司优惠进行中。

我们都知道,为了应对大量的请求,单台的Tomcat不能满足的时候,需要采取一系列的措施,例如分流、集群等。

进行Tomcat集群的时候,最需要关注和实现的,是多个Tomcat实例间的Session数据的共享,这样在节点crash的时候,才能使用其他节点响应。

关于集群,Tomcat的commiter和主要维护人Mark Thmoas在ApacheCon上做

Cluster的分享时这样描述:

什么时候需要使用Cluster呢

理论上,永远不要。

为什么呢,Thomas是这样说的

  • Adds configuration complexity

  • Requires additional processing

  • Debugging is lot harder

而你可能真正需要的是

  • Load-balancing plus sticky sessions

  • If a node fails, sessions will be lost

集群应该是最后一个选择。

我们前面的文章写过通过redis/Memcached来存储Session实现多实例间的Session数据共享的原理及步骤。(详解集群内Session高可用的实现原理 )

其实Tomcat官方提供了内置的Cluster功能,无须第三方的插件支持。

Tomcat官方的集群(Cluster)配置说明

整个集群的配置可以分为以下几步:

  1. 配置每个Tomcat实例的Engine,增加jvmRoute

  2. 配置集群部署的应用,修改其web.xml,增加配置。

  3. 使用Apache进行负载均衡,同时配置Session sticky和接受请求转发的Map path。关于Apache的配置,可以参考前面的文章

    快看Apache那个二道贩子(1)

    快看Apache那个二道贩子(2)

  • 修改各个Tomcat实例的Cluster配置,最简配置为打开默认注释的内容:

    这个最简易的SimpleTcpCluster会使用内存进行Session数据的存储,并且集群间各个Tomcat实例会互相进行数据备份。 各个实例间会通过multicast的方式进行心跳检测。

  • session数据的数据的传输是通过Tcp Connection进行的。

    下图为断开一个实例连接时,其它实例收到的检查信息

  • 当然,我们也可能对Cluster进行各项属性的定义,例如Session的Manager,multicast和数据传递的实现等,担心Session放在内存中的话,可以使用其它的Manager实现。

    Tomcat提供了三种方式的Session共享策略:

    • ‍Session数据持久化,将数据保存到共享文件系统

    • Sesion持久化,数据保存到共享的数据库中,数据通过JDBCStore进行存储

    • 使用内存进行共享,使用Tribes

    ‍5. 继续使用examples中的session进行功能检查,此时,你会发现多个实例间数据可以正常共享,而且不需要其它第三方的插件支持,绝对官方的实现。

以上就是如何进行Tomcat官方的集群配置说明,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注创新互联行业资讯频道。


文章名称:如何进行Tomcat官方的集群配置说明
文章分享:http://hbruida.cn/article/ghjijo.html