nginx+memcached+tomcat 负载均衡+session共享

本案例最终实现的效果,已在ubuntu14.04 系统上验证通过!

下载案例全部代码请移步:

https://download.csdn.net/download/dayuang2009/10413701

如下图:

如果TOMCAT1 宕机,用户的请求会无感知的情况下,跳转到其它TOMCAT中的执行,所有的SESSION都存储在memcache中!


以下是主要步骤:

DEMO式的集群-可以正常SESSION转移


1.环境准备 tomcat7 ,jdk7+
安装nginx,
libevent (memcached 依赖的程序)
memcached


memcached 基本使用方法:
启动: ./memcached/bin/memcached -d -m 32  restart
登录: telnet 127.0.0.1 11211
查看状态:stats
退出:quit


nginx 主要配置摘要:
#----------------
server_tokens off;
upstream server_tomcat{
ip_hash;
server localhost:8080 ;
server localhost:8081 ;
server 172.16.23.76:8081 ;
}


server {


        listen 80 default_server;
        listen [::]:80 default_server ipv6only=on;


        root /usr/share/nginx/html;
        index index.html index.htm;


        # Make site accessible from http://localhost/
        server_name localhost;


        location / {
                proxy_pass http://server_tomcat;
}
}


#----------------




tomcat7 配置:如果是本机运行两个,则需要改
conf/server.xml 中的端口

#----各TOMCAT中的server.xml都要配置-------------------
  <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
<Context docBase="/root/z/ROOT" path="/" reloadable="false" >
<!-- 核心配置 注意 memcachedNodes 指向存在的memcached -->
<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager" 
memcachedNodes="n1:172.16.11.16:11211" 
requestUriIgnorePattern=".*\.(png|gif|jpg|css|js)$" 
sessionBackupAsync="false" 
sessionBackupTimeout="100" 
sticky="false"
transcoderFactoryClass="de.javakaffee.web.msm.serializer.javolution.JavolutionTranscoderFactory" 
copyCollectionsForSerialization="false"/>


</Context>


#---各TOMCAT中还要增加 相关的LIB--------------------
javolution-5.5.1.jar
memcached-session-manager-1.9.7.jar
memcached-session-manager-tc7-2.3.0.jar
msm-javolution-serializer-1.9.7.jar
msm-kryo-serializer-1.9.7.jar
msm-serializer-benchmark-1.9.7.jar

spymemcached-2.12.3.jar

配置完重启TOMCAT ,Nginx ( service nginx restart)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值