Apache+Tomcat实现负载均衡及集群(session同步)--五、session同步(3)使用memcache

首先,在192.168.137.211服务器上安装memcached服务。下载memcache安装包,memcached-1.4.22.tar.gz,安装也简单,就是解压缩后编译,make在make install

 
启动memcache服务


 
Apache配置不变,主要是配置tomcat的context.xml
修改tomcat的conf/context.xml,加入如下配置:
<Context>
 <!-- Default set of monitored resources -->
 <WatchedResource>WEB-INF/web.xml</WatchedResource>
 <Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"
  memcachedNodes="n1:192.168.137.16:11211"
  sticky="false"
  requestUriIgnorePattern=".*\.(png|gif|jpg|css|js|ico|jpeg|htm|html)$"
  sessionBackupAsync="false"
  sessionBackupTimeout="1800000"
  copyCollectionsForSerialization="false"
  transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory"/>
</Context>

 

className
session管理器类名
memcachedNodes
配置运行的 memcached节点或者membas bucket的uri地址,格式为<id>:<host>:<port>, 多个节点使用空格或者逗号分隔,如:memcachedNodes="n1:app01:11211,n2:app02:11211",如果只 有单个的memcached节点,则<id>可选
sticky
配置会话为粘性或非粘性,默认true,tomcat集群时设置为false
requestUriIgnorePattern
不能修改备份Session的请求的正则表达式。如果像css,javascript,图片等静态文件被同一个Tomcat和同一个应用 上下文来提供,这些请求也会通过memcached-session-manager。这些请求在一个http会话中几乎不会改变,没必要 触发Session备份
sessionBackupAsync
指定session是否以异步方式备份,如果被设置为true,backupThreadCount设置起作用,如果设置false,通过sessionBackupTimeout设置的过期时间起作用
sessionBackupTimeout
设置备份Session所用的时间,如果超时则保存失败。此属性只在sessionBackupAsync="false"是起作用。默认100毫秒
copyCollectionsForSerialization
默认false
transcoderFactoryClass
创建序列化和反序列化保存到Memcached中的Session的编码转换器的工厂类名
 
启动tomcat,启动的过程中可能会报错,比如:
java.lang.AbstractMethodError,以及xxx class not found之类的,主要是需要的jar包不全,或者jar包太新,一些类被删除了,配置过程中需要的jar包如下


 
测试同之前内存复制,不在赘述。
 
1,在tomcat中找到文件apache-tomcat-6.0.37\conf\context.xml 加入内部 <Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager" memcachedNodes="n1:192.168.1.65:11211" requestUriIgnorePattern=".*\.(png|gif|jpg|css|js)$" sessionBackupAsync="false" sessionBackupTimeout="100" transcoderFactoryClass="de.javakaffee.web.msm.serializer.javolution.JavolutionTranscoderFactory" copyCollectionsForSerialization="false" /> 加入之后的content.xml的内容为 <?xml version=&#39;1.0&#39; encoding=&#39;utf-8&#39;?> <!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. --> <!-- The contents of this file will be loaded for each web application --> <Context> <!-- Default set of monitored resources --> <WatchedResource>WEB-INF/web.xml</WatchedResource> <!-- Uncomment this to disable session persistence across Tomcat restarts --> <!-- <Manager pathname="" /> --> <!-- Uncomment this to enable Comet connection tacking (provides events on session expiration as well as webapp lifecycle) --> <!-- <Valve className="org.apache.catalina.valves.CometConnectionManagerValve" /> <Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager" memcachedNodes="n1:192.16
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值