Java 具有超大表的Liferay 6持久会话

Java 具有超大表的Liferay 6持久会话,java,session,tomcat,cluster-computing,liferay-6,Java,Session,Tomcat,Cluster Computing,Liferay 6,我已经实现了liferay 6.2集群(使用tomcat 7.x),并在tomcat配置中配置了持久会话。 一切正常,但我注意到包含会话的表非常大。 大约46gb的空间可用于约2000个持久会话。 有没有办法减少保存到会话中的数据空间? 我看到有一个liferay属性: session.shared.attributes=COMPANY_,LIFERAY_SHARED_,org.apache.struts.action.LOCALE,PORTLET_RENDER_PARAMETERS_,PUBL

我已经实现了liferay 6.2集群(使用tomcat 7.x),并在tomcat配置中配置了持久会话。 一切正常,但我注意到包含会话的表非常大。 大约46gb的空间可用于约2000个持久会话。 有没有办法减少保存到会话中的数据空间? 我看到有一个liferay属性:

session.shared.attributes=COMPANY_,LIFERAY_SHARED_,org.apache.struts.action.LOCALE,PORTLET_RENDER_PARAMETERS_,PUBLIC_RENDER_PARAMETERS_POOL_,USER_

但我不知道是否相关,正如Liferay所说,不建议进行会话复制

为什么??因为它不是一个可伸缩的系统。在99%的情况下,您可以使用具有会话关联性的负载平衡器。但这不是扩展集群的最佳方式,但它更好

最好的方法是使用JWT(json web token)或类似的机制实现会话管理,而不使用java会话,因为每个节点都不知道任何关于会话的信息,这是线性扩展的唯一方法

Install an http load balancer and make sure your load balancer is set to sticky session mode. It is not recommended to use session replication for clustering.