服务器是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.运行项目进行测试