基于apache的tomcat负载均衡和集群配置session共享

接上面的话题接着继续完善。为什么没接到上篇呢?原因很简单太长的文章不爱看!就像有人写了上千行的方法一样,不是逼得没办法谁爱看谁看,反正我不看。

期间我没有一次配置成功,从失败的开始说起,

1、准备jar包

注意:不同的tomcat版本(tomcat6,tomcat7)所需的包不一样,需要针对tomcat版本下载对应的包.

这是采用的最新稳定版1.6

首先我到官网:http://code.google.com/p/memcached-session-manager/下载了最新的jar

由于公司网络是用代理很多网站你懂的,上不去,后来从 https://github.com/magro/memcached-session-manager 下载其他的jar包,总之找了好久凑不去

2、配置

1. 将上面所提到的包全部拷贝到tomcat的lib下(两台tomcat都需要)

2. 修改每台tomcat的conf目录下得context.xml文件,在其中加入如下任意一段代码:

<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"
         memcachedNodes="n1:localhost:11211"
            sticky="false"
            sessionBackupAsync="false"
            lockingMode="uriPattern:/path1|/path2"
            requestUriIgnorePattern=".*\.(ico|png|gif|jpg|css|js)$"
         transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory"
            /> 

其中序列化有好几种方法,

  • javolution序列化tomcat配置
  • xstream序列化tomcat配置
  • flexjson序列化tomcat配置
  • kryo序列化tomcat配置

据说kryo序列化效率比较快,那还选啥。其实上面说的jar包包含了这几种,实际放到lib下的没有那么多包。最后我一共放了九个包,等会上图。

配置好了启动tomcat,然后报错,果然意料之中,报错意思缺少类de.javakaffee.kryoserializers.LocaleSerializer,

见怪不怪了,小问题,缺了就找呗,发现kryo-serializers包没有类,果断升级找kryo-serializers-0.11.jar。

再次启动测试报错java.lang.NoSuchMethodError: net.spy.memcached.MemcachedClient.set(Ljava/lang/String;ILjava/lang/Object;)Lnet/spy/memcached/internal/OperationFuture;。解决方法spymemcached-2.7.jar升级到spymemcached-2.8.4.jar.

再试启动中有信息

顺利完成。浏览器测试过重结果不一致啊,我就XXX了。

从上面的测试结果,给我提示果断替换tomcat统一用6.0.18版本,虽然开始用的6.0.37也是tomcat6,但是测试不成功,看来还是有区别的吗具体原因这里没有深入探究。

最后放上所有9个jar包截图

总之版本一直很关键。

附几个参考链接

http://www.cnblogs.com/interdrp/p/4096466.html

http://www.iteye.com/topic/1125301

时间: 2024-10-11 10:17:58

基于apache的tomcat负载均衡和集群配置session共享的相关文章

基于apache的tomcat负载均衡和集群配置

最近不是很忙,用零碎时间做点小小的实验. 以前公司采用F5负载均衡交换机,F5将请求转发给多台服务器,每台服务器有多个webserver实例,每个webserver分布在多台服务器,交叉式的分布集群.F5只是简单了解,毕竟那玩意几十万的价格实在不是我一个小喽喽能弄来做试验玩的,而起公司也不能开放权限.后来知道apache.Nginx软件可以实现负载(F5是操作于IOS网络模型的传输层,Nginx.apache是基于http反向代理方式,位于ISO模型的第七层应用层.直白些就是TCP UDP 和h

Centos基于Apache的Tomcat负载均衡和集群

Centos基于Apache的Tomcat负载均衡和集群 一.背景原理1.tomcat 做个WEB服务器有它的局限性,处理能力低,效率低.承受并发小(1000左右).但目前有不少网站或者页面是JSP的.并采用了tomcat做为WEB,因此只能在此基础上调优.2.目前采取的办法是Apache + Mod_JK + tomcat 来解决一部分请求,用户访问的是apache,但有jsp页面的时候才会去请求tomcat.如果量一大,那么tomcat无法承受,那么只能做tomat集群,Apache + M

Apache、Tomcat负载均衡与集群

一. 环境准备 1.软件下载 a) apache_2.0.55-win32-x86-no_ssl.msi: b) apache-tomcat-5.5.17.rar c) mod_jk-apache-2.0.55.so 下载地址: http://download.csdn.net/detail/crazyiter_com/4178657 2.软件安装 a)  Apache安装路径为:E:\ide\apache\Apache2 (具体可以根据自己的盘符而定) b) Tomcat放置位置和名称注意:

apache + tomcat 负载均衡分布式集群配置

Tomcat集群配置学习篇-----分布式应用 现目前基于javaWeb开发的应用系统已经比比皆是,尤其是电子商务网站,要想网站发展壮大,那么必然就得能够承受住庞大的网站访问量:大家知道如果服务器访问量过大,就会出现服应用务器崩溃的情况,这个时候怎么办,难道就只能去重启服务器吗?好,如果是一般的小型公益网站到也无所谓,但如果是比如像大型航空公司售票等电子商务网站,每天每小时都有大量的订单业务,如果这些售票系统一旦崩溃后,再去重启,这些时间和客户的损失就直接会影响到航空公司的利益,这些损失如何去避

使用apache和nginx代理实现tomcat负载均衡及集群配置详解

实验环境: 1.nginx的代理功能 nginx proxy: eth0: 192.168.8.48 vmnet2 eth1: 192.168.10.10 tomcat server1: vmnet2 eth0: 192.168.10.20 tomcat server2: vmnet2 eth0: 192.168.10.30 # yum install -y nginx-1.8.1-1.el6.ngx.x86_64.rpm # vim /etc/nginx/conf.d/default.conf

基于mod_proxy+Apache 2.2.16+Tomcat 7的负载均衡与集群配置

第一章. 背景简介 对于大多数企业应用,都希望能做到7*24小时不间断运行.要保持如此高的可用性并非易事,比较常见的做法是将系统部署到多台机器上,每台机器都对外提供同样的功能,这就是集群.系统变为集群时,除了要求系统能够支持水平伸缩外,还要解决两个问题: 1, 如何均衡地访问到提供业务功能的机器. 2, 如何保证当机器出现问题时,用户能自动跳转到另外的机器,不影响使用. 常用的负载均衡技术有硬件和软件两种,本示例常用软件的技术实现.软件也有很多实现技术,如基于apache的mod_jk以及mod

linux下apache+tomcat负载均衡和集群

先说下我的环境 一台ubuntu的虚拟机, 一个apache2.2的实例 两个tomcat1.7的实例 1.安装apache服务器 sudo apt-get install apache2 如果要重启的话,运行命令: sudo /etc/init.d/apache2 restart ubuntu下的apache会默认创建路径/var/www,apache默认加载的时候,就是加载的这个路径下面的 2.安装两个tomcat实例 去官网下载一个 然后在本地在cp一下, 此时目录结构为: /home/h

nginx+apache+redis实现负载均衡、动静分离、session共享

环境centos6.5 nginx:192.168.1.202 tomcat1:192.168.1.240 tomcat2:192.168.1.201 redis:192.168.1.116 nginx安装: yum install -y nginx 如提示包不存在,安装epel源即可 rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm 修改nginx配置文件 vim /etc/nginx

Apache + Tomcat + JK 实现负载均衡和集群(状态复制)

原文请见http://www.cnblogs.com/dennisit/p/3370220.html 本文介绍了集群和负载均衡的基本开源实现,实现了用Apache分发请求到多个Tomcat里面对应的应用. 模块介绍 - Apache作为Web服务器,用于处理静态Http请求: - Tomcat作为应用服务器(Servlet容器),处理动态请求: - JK 作为Apache与Tomcat之间的桥梁,实现了Apache与Tomcat一对多的对应,使后端Tomcat负载均衡. 开发环境 - Windo