目前针对集群环境下session同步的方案有不少,今天在这里介绍下使用terracotta做session同步的方案,该方案配置简单,一下就用单台内存服务器来进行说明。现准备好两台服务器,一份terracotta程序,两个tomcat程序,1个nginx程序,ngnix的配置网上很多,此处不再做说明。terracotta程序使用的版本是terracotta3.7.7,tomcat使用的版本是tomcat7.0.52.
下面开始操作:
(1)修改tomcat配置,在context.XML文件中添加<Valve className="org.terracotta.session.TerracottaTomcat70xSessionValve" tcConfigUrl="192.168.1.131:9510" />
(2)将terracotta3.7.7下的terracotta-toolkit-1.6-runtime-5.7.0.jar包和terracotta-session-1.3.7.jar包复制的tomcat的lib目录下。
(3)在192.168.1.131这太机器上通过start-tc-server.sh启动terracotta程序,待程序启动完成后再启动两个tomcat和nginx。
(4)terracotta提供相应的监控界面,可以看到相关的信息,截图信息如下: