云计算Tengine学习-session一致性会话保持(memcached缓存数据库),继上次提供了一种不可靠发解决方法,这次使用一种可靠性的memecached缓存数据库来解决session一致性问题,原理主要是,memcached将tomcat的session集中管理,即服务器在分发请求到了一台机器的时候,会先去session缓存数据库查看是否有该用户的session,如果有则取出,否则新建一个。
操作如下:
将memcached的jar包拷贝到tomcat的lib下
云计算Tengine学习-session一致性会话保持(memcached缓存数据库)
为了方便测试,将tomcat1和tomcat2的首页(文件在/tomcat安装目录/webapps/ROOT/index.jsp)修改成:
云计算Tengine学习-session一致性会话保持(memcached缓存数据库)
云计算Tengine学习-session一致性会话保持(memcached缓存数据库)
修改tomcat1和tomcat2的server.xml文件(/opt/apache-tomcat-7.0.61/conf/server.xml),方便查看session是哪个tomcat创建的
云计算Tengine学习-session一致性会话保持(memcached缓存数据库)
云计算Tengine学习-session一致性会话保持(memcached缓存数据库)
在tomcat1和tomcat2的context.xml(在context上下文中配置)文件配置:
云计算Tengine学习-session一致性会话保持(memcached缓存数据库)
红色线为安装memcached服务器的IP

还要在nginx中配置反向代理,这样才能看出效果
云计算Tengine学习-session一致性会话保持(memcached缓存数据库)
从红色线看出,分别转发到192.168.17.3:8080和192.168.17.4:8080的tomcat服务器上
启动memcached和重启tomcat,当然还要关闭防火墙
测试,访问nginx服务器:
云计算Tengine学习-session一致性会话保持(memcached缓存数据库)
云计算Tengine学习-session一致性会话保持(memcached缓存数据库)
可以看出,session由tomcat2创建,当跳转到tomcat1服务器时,session还是保持不变,从而解决了session一致性问题。

相关文章:

  • 2022-01-18
  • 2022-12-23
  • 2022-12-23
  • 2021-11-07
  • 2021-07-29
猜你喜欢
  • 2021-12-15
  • 2021-07-26
  • 2021-05-15
  • 2022-01-03
  • 2022-12-23
  • 2021-04-01
相关资源
相似解决方案