【CentOS-6.5】通过 memcached 解决 session 一致性的问题

【CentOS-6.5】通过 memcached 解决 session 一致性的问题

一、启动过程和效果
  • 3台服务器进行模拟
  1. 服务器1 :Node1a:
    tomcat服务器
    cd /opt/soft/apache-tomcat-7.0.61/bin
    ./startup.sh
    memchaed缓存数据库开启
    service memcached start

  2. 服务器2:Node2a:
    tomcat服务器
    cd /opt/soft/apache-tomcat-7.0.61/bin
    ./startup.s
    memchaed缓存数据库开启
    service memcached start

  3. 服务器3:node3a
    tomcat服务器
    cd /opt/soft/apache-tomcat-7.0.61/bin
    ./startup.sh
    nginx服务器
    service nginx start
    memchaed缓存数据库开启
    service memcached start

  • 当访问 node3a(nginx)服务器时
  1. 第一次访问,进入了 node1a 的tomcat服务器
    在这里插入图片描述

  2. 第二次访问,进入了 node2a 的tomcat服务器
    在这里插入图片描述

  3. 第三次访问,进入了 node3a(和nginx一起) 的tomcat服务器
    在这里插入图片描述

二、实现过程
  1. 安装 memcached

    • 将需要的 .jar包 放进 /opt/soft/apache-tomcat-7.0.61/lib(百度下载解决)
    • 通过yum安装:yum –y install memcached
  2. 修改tomcat的conf目录下的context.xml

  • memcachedNodes :填写你的服务器的ip,端口 11211 不能修改
  • 作用:配置memcachedNodes属性,配置memcached数据库的ip和端口,默认11211,多个的话用空格隔开,让tomcat服务器从memcached缓存里面拿session或者是放session
<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"
        memcachedNodes="n1:192.168.17.9:11211"
    sticky="false"
    lockingMode="auto"
    sessionBackupAsync="false"
        requestUriIgnorePattern=".*\.(ico|png|gif|jpg|css|js)$"
sessionBackupTimeout="1000" transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory" />
  1. 修改index.jsp,取sessionid
<%@ page language="java" contentType="text/html; charset=UTF-8"  pageEncoding="UTF-8"%>
<html lang="en">
SessionID:<%=session.getId()%>
</br>
SessionIP:<%=request.getServerName()%>
</br>
<h1>tomcat1</h1>
</html>
  1. 重启tomcat和memcached查看效果!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值