`

J2EE集群性能优化点滴(ngixn+servlet server+memcache)

 
阅读更多

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集群

    tomcat+nginx+memcache高可用

    Nginx+tomcat配置集群负载均衡实例

    配置Nginx+Tomcat集群负载均衡的第一步是安装Nginx和多个Tomcat实例。在多台服务器上部署Tomcat,形成一个集群,确保服务的高可用性。每台服务器上的Tomcat实例都需要配置相同的应用,以处理相同类型的请求。 接...

    nginx+lua+redis 集群 连接插件和脚本

    本资源包“nginx+lua+redis集群 连接插件和脚本”正是为了解决这三者之间的协同工作,特别是针对原插件没有密码功能的问题进行了改进,使得安全性得到了提升。 首先,Nginx是一款轻量级的Web服务器/反向代理服务器...

    Nginx+RTMP 推拉流集群方案

    Nginx+RTMP推拉流集群方案是一种流行的视频直播技术架构,它通过结合Nginx Web服务器和RTMP(Real Time Messaging Protocol)流媒体传输协议来实现网络视频直播的推送和接收功能。RTMP协议由Adobe公司开发,主要用于...

    nginx+tomcat+memcache

    基于nginx+tomcat+memcache的负载均衡架构

    泛微ecology nginx+resin集群部署手册

    泛微 ecology nginx+resin集群部署说明文档,详细讲解ecology 集群部署的实施方式方法及步骤。

    Nginx+Memcache+Linux+Tomcat集群

    在构建高性能的Web服务环境中,...总结来说,Nginx+Memcache+Linux+Tomcat集群通过合理利用资源,实现了Web服务的高性能、高可用性和可扩展性。这种架构在处理大量并发请求时表现出色,是现代互联网服务的常见选择。

    Nginx+Keepalived 主备集群拓扑图

    Nginx+Keepalived 组网主备集群网络拓扑图,欢迎下载

    Nginx+tomcat+redis

    在构建高性能、高可用性的Web服务时,"Nginx+Tomcat+Redis"的组合是一种常见的架构模式。这个架构充分利用了每个组件的优势,以实现高效的数据处理、动态内容渲染和负载均衡。以下是对这套技术栈的详细解释: 1. **...

    Nginx+Memcache+Tomcat集群(session共享)

    【Nginx+Memcache+Tomcat集群(session共享)】是一种常见的高可用性和负载均衡解决方案,主要用于提升Web应用的性能和可扩展性。这个配置利用Nginx作为反向代理和负载均衡器,Memcache作为分布式session存储,而...

    Nginx+Uwsgi+Django+Vue部署

    Nginx+Uwsgi+Django(python3)+Vue部署,一步步实现。网上找了N多篇文章都没成功,特意记录,以免其他同学踩坑

    Nginx++Keepalived+Tomcat负载均衡&动静分离

    Nginx++Keepalived+Tomcat负载均衡&动静分离配置 本文主要介绍了Nginx、Keepalived和Tomcat的负载均衡和动静分离配置,旨在帮助读者了解如何搭建高可用、高性能的Web应用系统。 一、环境准备 在开始配置之前,...

    Nginx+KeepAlived+Tomcat负载架构

    ### Nginx+KeepAlived+Tomcat负载架构详解 #### 一、概述 随着互联网应用的日益增多,单一服务器已经难以满足高并发、高可用性的需求。因此,越来越多的企业开始采用集群技术来提高系统的稳定性和扩展性。本文将...

    性能调优 海量并发 系统架构

    Nginx+tomcat集群Memcached+Session复制 高性能高并发服务器架构 基于nginx的tomcat负载均衡和集群 实现多服务器负载均衡 系统性能优化 数据库 Nginx+Squid负载均衡 配置好的集群 总共三十个文档"&gt;Apache+Tomcat+...

    Keepalived+Nginx+Tomcat 高可用集群搭建实战记录

    Keepalived+Nginx+Tomcat 高可用集群搭建实战记录 Keepalived 是一种高可用性解决方案,可以与 Nginx 和 Tomcat 配合使用来实现高可用集群。下面是 Keepalived+Nginx+Tomcat 高可用集群搭建的实战记录。 ...

    nginx+tomcat+redis完成session共享

    这个小例子"nginx+tomcat+redis完成session共享"旨在演示如何通过这三种技术实现跨服务器的用户会话共享,以提升用户体验并简化系统管理。以下是这些技术及其在会话共享中的作用: 1. **Nginx**:Nginx是一款高性能...

    Nginx+Tomcat+Memcached实现tomcat集群和session共享 nginx配置

    Nginx+Tomcat+Memcached实现tomcat集群和session共享 nginx配置

    Nginx+Tomcat+Redis搭建均衡负载集群

    在构建高性能、高可用性的Web服务时,"Nginx+Tomcat+Redis"的组合是一种常见的架构模式。这个架构利用Nginx作为反向代理和负载均衡器,Tomcat作为Java应用服务器处理业务逻辑,而Redis则用作缓存系统以提升数据访问...

    Nginx+keepalived+tomcat集群搭建过程.doc

    【Nginx+Keepalived+Tomcat集群搭建】是一个实现服务器高可用和负载均衡的常见方案,旨在解决单点故障问题,防止服务因一台服务器宕机而导致整个系统的崩溃,即所谓的雪崩效应。 首先,我们需要四台服务器,两台...

    Tomcat集群(Tomcat+nginx+redis)

    有小白看着都可以照做的文档及说明。已经有session的包,所使用的Tomcat版本为 7.0.62 ,比网上其它的说明详细很多。

Global site tag (gtag.js) - Google Analytics