from:http://www.javabloger.com/article/ngixn-j2ee-tomcat-memcache-session-share.html
清单:
jar包 5个
jsp测试页面 1个
Nginx 配置文件1个
Tomcat Server.xml 配置文件 2个
前置条件,需要安装以下软件:
Tomcat 服务器 2台+
Nginx 服务器 1台
Memcached 1台
JDK1.5+
IE/Firefox 浏览器
一、下载下列几个 Jar包
http://memcached-session-manager.googlecode.com/files/memcached-session-manager-1.3.0.jar
http://memcached-session-manager.googlecode.com/files/msm-javolution-serializer-jodatime-1.3.0.jar
http://memcached-session-manager.googlecode.com/files/msm-javolution-serializer-cglib-1.3.0.jar
http://spymemcached.googlecode.com/files/memcached-2.4.2.jar
http://memcached-session-manager.googlecode.com/files/javolution-5.4.3.1.jar
将以下几个Jar包Copy到 $TOMCAT_HOME/lib目下,每个Tomcat节点都需要有。
二、配置Tomcat的Server.xml配置文件,样本可以点击这里下载,主要内容如下:
http://www.javabloger.com/images/2010-05/webcluster/server.xml.txt
<Context docBase="D:\webapp" path="" reloadable="true" >
<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"
memcachedNodes="n1:localhost:11211"
requestUriIgnorePattern=".*\.(png|gif|jpg|css|js)$"
sessionBackupAsync="false"
sessionBackupTimeout="100"
transcoderFactoryClass="de.javakaffee.web.msm.serializer.javolution.JavolutionTranscoderFactory"
copyCollectionsForSerialization="false"
/>
</Context>
每个Tomcat的节点都需要修改。
三、前端分发的Ngixn的配置文件也需要修改,样本可以点击这里下载,主要内容如下:
http://www.javabloger.com/images/2010-05/webcluster/nginx.conf.txt
#gzip on;
upstream www.docyeah.com {
server 192.168.1.103:81;
server 192.168.1.103:82;
}
最后访问测试的JSP页面,进行刷新:
http://www.javabloger.com/images/2010-05/webcluster/msem.jsp.txt
页面上出现:SessionID:292621C48C4D6B27F40290039081492A-n1 一直不变,说明你经过前端 Ngixn
进行分发,跳转到任何一台服务器都是从Memcached中读取session,这样web容器中的
session就集中在一个地方了。并且每台机器都可以进行计算客户端发出的请求,实现了session共享和压力分载,下图中显示了每台Tomcat容
器中打印了各打印了2次 Hello World,说明分散的计算了客户端发出的请求。
采用这种方案的优势在于,如果最前端换成IP策略的负载均衡,例如:LVS、Iptables,或者HA-Proxy 都可以,并且可以提高前端负载均衡器的工作效率。通过这样的思路,还可以进行对这个工具进行改写成向数据库写入的方案。
如图所示:
查看大图请点击这里
分享到:
相关推荐
tomcat+nginx+memcache高可用
配置Nginx+Tomcat集群负载均衡的第一步是安装Nginx和多个Tomcat实例。在多台服务器上部署Tomcat,形成一个集群,确保服务的高可用性。每台服务器上的Tomcat实例都需要配置相同的应用,以处理相同类型的请求。 接...
本资源包“nginx+lua+redis集群 连接插件和脚本”正是为了解决这三者之间的协同工作,特别是针对原插件没有密码功能的问题进行了改进,使得安全性得到了提升。 首先,Nginx是一款轻量级的Web服务器/反向代理服务器...
Nginx+RTMP推拉流集群方案是一种流行的视频直播技术架构,它通过结合Nginx Web服务器和RTMP(Real Time Messaging Protocol)流媒体传输协议来实现网络视频直播的推送和接收功能。RTMP协议由Adobe公司开发,主要用于...
基于nginx+tomcat+memcache的负载均衡架构
泛微 ecology nginx+resin集群部署说明文档,详细讲解ecology 集群部署的实施方式方法及步骤。
在构建高性能的Web服务环境中,...总结来说,Nginx+Memcache+Linux+Tomcat集群通过合理利用资源,实现了Web服务的高性能、高可用性和可扩展性。这种架构在处理大量并发请求时表现出色,是现代互联网服务的常见选择。
Nginx+Keepalived 组网主备集群网络拓扑图,欢迎下载
在构建高性能、高可用性的Web服务时,"Nginx+Tomcat+Redis"的组合是一种常见的架构模式。这个架构充分利用了每个组件的优势,以实现高效的数据处理、动态内容渲染和负载均衡。以下是对这套技术栈的详细解释: 1. **...
【Nginx+Memcache+Tomcat集群(session共享)】是一种常见的高可用性和负载均衡解决方案,主要用于提升Web应用的性能和可扩展性。这个配置利用Nginx作为反向代理和负载均衡器,Memcache作为分布式session存储,而...
Nginx+Uwsgi+Django(python3)+Vue部署,一步步实现。网上找了N多篇文章都没成功,特意记录,以免其他同学踩坑
Nginx++Keepalived+Tomcat负载均衡&动静分离配置 本文主要介绍了Nginx、Keepalived和Tomcat的负载均衡和动静分离配置,旨在帮助读者了解如何搭建高可用、高性能的Web应用系统。 一、环境准备 在开始配置之前,...
### Nginx+KeepAlived+Tomcat负载架构详解 #### 一、概述 随着互联网应用的日益增多,单一服务器已经难以满足高并发、高可用性的需求。因此,越来越多的企业开始采用集群技术来提高系统的稳定性和扩展性。本文将...
Nginx+tomcat集群Memcached+Session复制 高性能高并发服务器架构 基于nginx的tomcat负载均衡和集群 实现多服务器负载均衡 系统性能优化 数据库 Nginx+Squid负载均衡 配置好的集群 总共三十个文档">Apache+Tomcat+...
Keepalived+Nginx+Tomcat 高可用集群搭建实战记录 Keepalived 是一种高可用性解决方案,可以与 Nginx 和 Tomcat 配合使用来实现高可用集群。下面是 Keepalived+Nginx+Tomcat 高可用集群搭建的实战记录。 ...
这个小例子"nginx+tomcat+redis完成session共享"旨在演示如何通过这三种技术实现跨服务器的用户会话共享,以提升用户体验并简化系统管理。以下是这些技术及其在会话共享中的作用: 1. **Nginx**:Nginx是一款高性能...
Nginx+Tomcat+Memcached实现tomcat集群和session共享 nginx配置
在构建高性能、高可用性的Web服务时,"Nginx+Tomcat+Redis"的组合是一种常见的架构模式。这个架构利用Nginx作为反向代理和负载均衡器,Tomcat作为Java应用服务器处理业务逻辑,而Redis则用作缓存系统以提升数据访问...
【Nginx+Keepalived+Tomcat集群搭建】是一个实现服务器高可用和负载均衡的常见方案,旨在解决单点故障问题,防止服务因一台服务器宕机而导致整个系统的崩溃,即所谓的雪崩效应。 首先,我们需要四台服务器,两台...
有小白看着都可以照做的文档及说明。已经有session的包,所使用的Tomcat版本为 7.0.62 ,比网上其它的说明详细很多。