服务器是nginx+jboss的,之前没有考虑部署多实例,现在需要在多台服务器上进行多实例部署,在网上找了一些资料,发现只有terracott是对程序改动最少的,并且在其中一个实例down掉后,session不会失效
terracotta 的官网是http://www.terracotta.org/ ,不过貌似开始收费了,还好之前的开源版本还在
安装步骤:
1.下载terracotta-3.7.7.tar.gz,安装需要一个证书,记得申请一个
tar -zxvf terracotta-3.7.7.tar.gz
2.设置terracotta配置文件tc-config.xml放在安装目录的bin下
附件是官方的默认配置
3.启动、停止
进入bin目录
./start-tc-server.sh -n hostname 启动
./stop-tc-server.sh -n 102master 停止
4.修改web项目
在META-INF下添加context.xml
内容如下:
<Context>
<Valve className="org.terracotta.session.TerracottaJboss51xSessionValve" tcConfigUrl="192.168.1.71:8510"/>
</Context>
如果不是jboss请换成其他的
添加jar包
terracotta-session-1.3.7.jar
terracotta-toolkit-1.6-runtime-5.7.0.jar
5.运行项目进行测试
相关推荐
具体到session同步方面,Terracotta可以看作是对Tomcat自带的session复制机制的一种优化,既避免了对数据库的依赖,又能够有效减少网络通信压力,实现负载均衡和灾难恢复的目标。 根据测试结果,在采用Terracotta...
总结,使用 Terracotta 与 Tomcat 集群相结合,可以创建出一个既具有高扩展性又具备高可用性的 Web 应用平台,解决了传统 session 管理方式的诸多问题。在实际部署中,开发者应根据具体业务需求和资源条件,合理选择...
这个学习文档着重讲解了如何利用 Terracotta 实现 Web 应用程序的集群部署,特别是与 Apache Tomcat 服务器的集成,以实现 session 复制和负载均衡。 1. **引言** Terracotta 学习文档的目的是教导读者如何利用其...
Terracotta通过集成到Tomcat,解决了这个问题,它能自动将一个服务器上的session同步到集群中的其他服务器,确保即使在服务器故障情况下,用户的session信息也不会丢失。 **terracotta-3.7.7.tar.gz安装步骤** 1. *...
Session 是 Web 应用程序中保存用户信息的机制,当用户请求时,服务器需要记录用户的信息,以便在后续请求中使用。然而,在分布式系统中,Session 的管理变得复杂,因为用户的请求可能会被分配到不同的服务器上。 ...
Apache 2.2、mod_JK、Tomcat 7 和 Terracotta 3.7 是构建高可用性和可伸缩性Web应用集群的关键组件。这个集群解决方案旨在通过将负载分散到多个服务器上,提高应用程序的性能和稳定性。下面将详细阐述这些组件以及...
配置完成后,Web应用程序应该能够通过Terracotta集群来管理其会话状态,这意味着会话数据可以在多台服务器之间无缝同步,提高了系统的可用性和可伸缩性。然而,确保正确配置和测试环境是至关重要的,以避免任何潜在...
Terracotta通过监听和同步session对象,解决了跨服务器的会话复制问题。 4. **NFS(网络文件系统)**:NFS是一种广泛使用的网络文件系统协议,允许不同计算机之间的文件共享。在本架构中,NFS用于存储共享资源,如...
1. **共享内存**:使用第三方库,如 Terracotta,将 session 存储在共享内存中。 2. **数据库存储**:将 session 信息存储在数据库中,所有 Tomcat 实例都可以访问。 3. **cookie**:通过 sticky sessions,让客户端...
在J2EE应用中,Ehcache可以作为Session Bean或Web应用程序的缓存解决方案。通过在EJB或Servlet上下文中配置Ehcache,可以缓存频繁访问的数据,降低数据库调用次数。 ### Ehcache与Java 在纯Java应用中,Ehcache...